0

最初のcmdウィンドウで実行したいのですが、そのcmdウィンドウで、終了後echo halloに実行されるcmdの別のインスタンスをポップアップ表示し(成功または失敗)、両方のプロセスが完了した後も両方のcmdウィンドウを開いたままにしておきますecho worldecho hallo

cmd.exeそして、このすべてを実行するために、プログラムから実行します

現在、私は使用して
cmd /K start cmd.exe /K "echo hallo & start cmd.exe /K echo world"
おり、その動作をしています。これらの2つの引用符は必須です。そうでない場合は、機能しません。

問題:

2つのコマンドプロンプトで実行する2つの実行可能ファイルには、内部にスペースが含まれている可能性があるため、それらとその引数を保護する必要があります。これ"は、トップレベルで囲む引用符と競合します。埋め込まれた引用符を適切に処理することがわかりません。

windows>cmd /K start cmd.exe /K "echo hallo & start \"cmd.exe\" /K echo world"
windows>cmd /K start cmd.exe /K "echo hallo & start ""cmd.exe"" /K echo world"
windows>cmd /K start cmd.exe /K "echo hallo & start 'cmd.exe' /K echo world"

これらの3つの作品のどれも

4

2 に答える 2

0

ファイル名の引用符を避けるには、EXECUT~1.EXE などの8.3 エイリアスを使用します。


DIR /X "executable with space inside.exe" でエイリアスを取得できます

于 2013-12-17T12:41:13.313 に答える