私がしたいことはbatch
、Javaアプリケーションからファイルを複数回実行することです。したがって、for-loop
このコードを実行するを設定しますn
:
for (int i = 0; i < n; i++) {
Runtime.getRuntime().exec("cmd /c start somefile.bat");
}
問題は、コマンドが実行されるたびに、新しいcmdウィンドウがポップアップすることです。ただし、必要なのは、最初にポップアップする1つのウィンドウだけで、次のコマンド呼び出しからのすべてのデータを表示するために使用されます。
どうやってやるの?
&&複数のコマンド、次々に実行することができます。
Runtime.getRuntime().exec("cmd /c \"start somefile.bat && start other.bat && cd C:\\test && test.exe\"");
複数のコマンドと条件付き処理シンボルの使用
条件付き処理シンボルを使用して、単一のコマンドラインまたはスクリプトから複数のコマンドを実行できます。条件付き処理シンボルで複数のコマンドを実行すると、条件付き処理シンボルの右側にあるコマンドは、条件付き処理シンボルの左側にあるコマンドの結果に基づいて動作します。
たとえば、前のコマンドが失敗した場合にのみコマンドを実行することができます。または、前のコマンドが成功した場合にのみコマンドを実行することもできます。次の表に示す特殊文字を使用して、複数のコマンドを渡すことができます。
& [...] command1 & command2
1つのコマンドラインで複数のコマンドを区切るために使用します。Cmd.exeは最初のコマンドを実行し、次に2番目のコマンドを実行します。
&& [...] command1 && command2
&&に続くコマンドを実行するには、シンボルの前のコマンドが成功した場合にのみ使用します。Cmd.exeは最初のコマンドを実行し、最初のコマンドが正常に完了した場合にのみ2番目のコマンドを実行します。
|| [...] command1 || command2
次のコマンドを実行するために使用します|| ||の前にあるコマンドのみ 失敗します。Cmd.exeは最初のコマンドを実行し、最初のコマンドが正常に完了しなかった(0より大きいエラーコードを受け取った)場合にのみ2番目のコマンドを実行します。
( ) [...] (command1 & command2)
複数のコマンドをグループ化またはネストするために使用します。
; or , command1 parameter1;parameter2
コマンドパラメータを区切るために使用します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加