it-roy-ru.com

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

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

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

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

23
user1421214

Это должно работать:

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

Команда start интерпретирует первый аргумент как заголовок окна, если он содержит пробелы. В этом случае это означает, что start считает весь ваш аргумент заголовком и не видит команды. Передача "" (пустой заголовок) в качестве первого аргумента start решает проблему.

35
Andrew Medico

Если вам нужно увидеть результат выполнения, используйте CALL вместе с или вместо START.

Пример:

CALL "C:\Program Files\Certain Directory\file.exe" -param PAUSE

Это запустит файл file.exe и распечатает все, что выводит, в том же командном окне. Помните PAUSE после звонка, иначе окно может закрыться мгновенно.

9
Scopperloit

Если это не просто упрощенный пример для вопроса, мой совет заключается в том, чтобы отбросить упаковщик пакетов и запланировать 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
0
Álvaro González