Запустить exe файл с параметрами в пакетном файле
Пожалуйста, посмотрите мой пакетный файл.
echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"
но он не работает. Любые идеи, как я могу заставить его работать?
Ответы
Ответ 1
Это должно работать:
start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2
Команда start
интерпретирует первый аргумент как заголовок окна, если он содержит пробелы. В этом случае это означает, что start
считает весь ваш аргумент заголовком и не видит никакой команды. Передача ""
(пустой заголовок) в качестве первого аргумента start
устраняет проблему.
Ответ 2
Если вам нужно увидеть результат выполнения, используйте CALL
вместе с или вместо START
.
Пример:
CALL "C:\Program Files\Certain Directory\file.exe" -param
PAUSE
Это запустит файл file.exe и вернет все, что он выводит, в том же командном окне. Запомните PAUSE
после вызова, иначе окно может немедленно закрыть.
Ответ 3
Если это просто упрощенный пример для вопроса, я советую отказаться от пакетной оболочки и запланировать PHP напрямую, в частности программу php-win.exe
, которая не откроет ненужные окна.
Program: c:\program files\php\php-win.exe
Arguments: D:\mydocs\mp\index.php param1 param2
В противном случае просто цитируйте материал, как указывает Андрей.
В более старых версиях Windows вы можете разместить все в одном текстовом поле "Запустить" (пока вы указываете все, что имеет пробелы):
"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2