0

別のバッチ (marathon.bat) ファイルを開始するバッチ (batA) ファイルを作成しました。デスクトップにbatAを保存して使用すると

start /wait ..\marathon\marathon.bat -batch "C:\stuff"

それはうまく動作します。ただし、名前にスペースが含まれているプログラムファイルに marathon.bat を保存してから使用すると、

start /wait c:\"Program Files (x86)\marathon\marathon.bat" -batch "c:\stuff"

エラーが発生します:

'c:\Program' is not recognized as an internal or external command, operable program or batch file.

スペースを考慮するために二重引用符を使用する必要があることは知っていますが、なぜ c:\Program で停止するのですか? 引用符を別の場所に移動しようとしましたが、2 番目のファイルを認識できないようです。

4

2 に答える 2

0

バッチ ファイルの呼び出し方法に 2 つの問題があります。

まず、引用符を間違った場所に配置しました。それ以外の

start /wait c:\"Program Files (x86)\marathon\marathon.bat" 

Program Filesフォルダー名だけでなく、コマンド全体を引用符で囲む必要があります。

start /wait "c:\Program Files (x86)\marathon\marathon.bat" 

2 つ目の問題は、コマンドに指定された引用符付きの最初のパラメーターSTARTが、新しいウィンドウのタイトルとして扱われることです。これを回避するには、コマンドの前に空の引用符を追加する必要があります。

start "" /wait "c:\Program Files (x86)\marathon\marathon.bat" 
于 2014-01-30T14:32:20.703 に答える