web-dev-qa-db-ja.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

それ以外の場合は、Andrewが指摘しているとおりに引用してください。


古いバージョンのWindowsでは、単一の「実行」テキストボックスにすべてを入れることができるはずです(スペースを含むすべてを引用する場合)。

"c:\program files\php\php-win.exe" D:\mydocs\mp\index.php param1 param2
0