Я хочу сохранить абсолютный путь к файлу в переменной оболочки мощности и использовать его для выполнения программы с аргументами. Я хочу сделать это на сервере сборки, чтобы у меня была утилита на этом сервере сборки, используемая агентами сборки. Учти это:
$pathToExe = "C:\path\to\program.exe"
#build server does stuff in a working dir
$pathToExe arg1 arg2
Когда это выполняется, $ pathToExe не расширяется до своего значения. Вместо этого я вижу в журналах: «Неожиданный токен ‘arg1’ в выражении или инструкции».
Как правильно делать такие вещи в Power Shell? Я пробовал другой синтаксис с кавычками, но я не могу заставить его работать без жесткого кодирования пути к файлу, чего я пытаюсь избежать.
Я думаю, вам нужно будет использовать Start-Process — person Sly_Boots schedule 10.10.2018
Как же так? Нравится? Start-Process $ pathToExe arg1 arg2 — person Sly_Boots schedule 10.10.2018
Вот пример того, что я использую в настоящее время. Я жестко запрограммировал свои аргументы, но можно использовать переменные. Start-Process -FilePath ($Firefox + "Firefox_62.exe") -ArgumentList ("-ms /INI=$Firefox" + "Firefox_Settings.ini") -Verbose -Wait -NoNewWindow — person Sly_Boots schedule 10.10.2018
