Подтвердить что ты не робот

Запустить exe файл с параметрами в пакетном файле

Пожалуйста, посмотрите мой пакетный файл.

echo off
start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"

но он не работает. Любые идеи, как я могу заставить его работать?

4b9b3361

Ответ 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