0
Если я бегу:Как выполнить команду ДОС с переменными аргументами
<somecommand> -e "SHOW DATABASES" -u<user> -p<password>
Он бежит. Но если я попробую:
<somecommand> -e "SHOW DATABASES" -u$sqlUser -p$sqlPassword
не удается, так как переменные не расширяются.
Каков самый простой способ выполнить эту задачу в powershell?
Я думаю, что я пытался 4095 других вещами .... Но это действительно работает! Спасибо за ваш ответ! –
В этом случае PowerShell будет использовать режим разбора аргументов, что означает, что он пытается указать строковые аргументы, не используя кавычки (которые быстро стареют). Это разумно видеть -u $ sqlUser, и в этом случае он будет расширять переменную, но -u $ sqlUser, который он видит как строку. Вы можете заставить PowerShell расширять переменные, поместив туда двойные кавычки (и смежный текст). –
Да, конечно, что будет работать и '-u" $ sqlUser ". При переходе к exe, независимо от того, является ли его '' -u $ sqlUser '' или предыдущим способом, не имеет значения AFAICT. –