Посмотрите мой пакетный файл.
echo off start "c:\program files\php\php.exe D:\mydocs\mp\index.php param1 param2"
но он не работает. Любые идеи, как я могу заставить его работать?
Это должно работать:
start "" "c:\program files\php\php.exe" D:\mydocs\mp\index.php param1 param2
Команда start
интерпретирует первый аргумент как заголовок окна, если он содержит пробелы. В этом случае это означает, что start
считать весь ваш аргумент заголовком и не видит никакой команды. Передача ""
(пустой заголовок) в качестве первого аргумента для start
исправляет проблему.
Если вам нужно увидеть результат выполнения, используйте CALL
вместе или вместо START
.
Пример:
CALL "C:\Program Files\Certain Directory\file.exe" -param PAUSE
Это запустит файл file.exe и вернет все, что он выводит, в том же командном окне. Помните PAUSE
после вызова, иначе окно может немедленно закрыть.
Если это просто упрощенный пример вопроса, я советую отказаться от пакетной оболочки и запланировать 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