Я пытаюсь запустить EXE-файл с помощью сценария PowerShell. Если я использую командную строку, она работает без проблем (сначала я указываю имя исполняемого файла и ряд параметров для его вызова):
"C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode
Но выполнение того же самого внутри скрипта возвращает ошибку:
Термин «C: \ Program Files \ Automated QA \ TestExecute 8 \ Bin \ TestExecute.exe" C: \ temp \ TestProject1 \ TestProject1.pjs / run / exit / SilentMode » не распознается как имя командлета, функция , файл сценария или работающая программа. Проверьте написание имени или, если был включен путь, проверьте правильность пути и повторите попытку.
(Я вызвал команду с помощью оператора «&».)
Как я могу исправить эту проблему?
Ответы:
или
ОБНОВЛЕНИЕ: извините, я пропустил "(я вызвал команду, используя оператор" & ")". У меня возникла эта проблема, когда я оценивал путь динамически. Попробуйте конструкцию Invoke-Expression:
источник
Похоже, вы указываете как EXE, так и его первый аргумент в одной строке, например;
'"C:\Program Files\Automated QA\TestExecute 8\Bin\TestExecute.exe" C:\temp\TestProject1\TestProject1.pjs /run /exit /SilentMode'
. Это не сработает. Обычно вы вызываете собственную команду, в пути которой есть пробел, например:Ожидается,
&
что за ней будет следовать строка, которая идентифицирует команду: командлет, функция, относительный или абсолютный путь собственного исполняемого файла.Как только вы получите эту работу:
При необходимости начните цитировать аргументы. Хотя похоже, что ваши аргументы должны быть в порядке (без пробелов и других специальных символов, интерпретируемых PowerShell).
источник
.\foo.exe
а также можете использовать относительный путь..\..\foo.exe
и относительный путь с пробелами& '..\..\path with spaces\foo.exe'
.cmd /c "C:\temp\strarc.exe -cjd:M:\ | C:\temp\strarc.exe -s:8 -xd:N:\"
.В Powershell перейдите к папке с файлом .exe. Например:
cd C: \ Users \ Administrators \ Downloads
PS C: \ Users \ Administrators \ Downloads> & '. \ Aaa.exe'
Появится установщик и следуйте инструкциям на экране.
источник
Демо:
источник
Не будучи разработчиком, я нашел решение в запуске нескольких команд ps в одной строке. Например:
Помещая "(двойные кавычки) перед & (амперсандом), он выполняет исполняемый файл. Ни в одном из примеров, которые я обнаружил, это не упоминалось. Без двойных кавычек приглашение ps открывается и ожидает ввода.
источник