バッチファイルをご覧ください。
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
それ以外の場合は、Andrewが指摘しているとおりに引用してください。
古いバージョンのWindowsでは、単一の「実行」テキストボックスにすべてを入れることができるはずです(スペースを含むすべてを引用する場合)。
"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2