7

このコマンドは動作します

START /b /wait "Dummy title" "C:\tmp\test runner2.bat" arg1 arg2

しかし、これらの両方が失敗します!

START /b /wait "Dummy title" "C:\tmp\test runner2.bat" arg1 arg2 "arg 3" arg4
START /b /wait "Dummy title" "C:\tmp\test runner2.bat" arg1 arg2 "arg 3"

エラーは次のとおりです。

'C:\tmp\test' is not recognized as an internal or external command, operable program or batch file.

明らかに、それは"議論を囲むことと関係がありますが、なぜ、どのようにこれを回避するのですか?

関連する質問:

4

3 に答える 3

8

「ジェブ」はすでに正しい方向を指しています。私の場合、バッチを実行しようとはしませんでしたが、「Program Files」フォルダー内のプログラムを実行しようとしました (バッチはプログラムの起動後に終了します)。通話時

START "C:\Program Files\MyAppPath\MyApp.exe" arg1 arg2 ... argN

引用符で囲まれて入力されたパスは、START コマンドによる「タイトル」パラメーターであると想定されています。それを取り除くには、次のようなウィンドウ タイトルを「偽造」する必要があります。

START "" "C:\Program Files\MyAppPath\MyApp.exe" arg1 arg2 ... argN

これは私の場合に役立ちました。

于 2014-10-15T11:11:31.483 に答える
3

これは私の質問には答えませんが、私が抱えている差し迫った問題を解決します。

Windows コマンド シェルでファイル名を囲む引用符の問題」の投稿を読んでいるときに、回避策を発見しました。

cmd.exe /C ""C:\tmp\test runner2.bat" arg1 arg2 "arg 3" arg4"

代わりにコマンドを使用してコマンドを実行するだけの他の回避策もあります( Ansgar Wiecherscallで述べられているように)

call "C:\tmp\test runner2.bat" arg1 arg2 "arg 3" arg4
于 2013-07-16T11:35:31.243 に答える