cmd (コマンド ライン) を実行し、この方法で Java からバッチ ファイルを実行します。
final String cmd = "cmd /c C: && dir && cd C:\MyApp\Maxi && dir && C:\MayApp\Maxi\deploy.bat";
try {
Process process = Runtime.getRuntime().exec(cmd);
final InputStream in = process.getInputStream();
int ch;
while((ch = in.read()) != -1) {
System.out.print((char)ch);
}
} catch (IOException e) {
System.out.println("IOException on CMD executing statement");
e.printStackTrace();
}
正常に動作していましたが、バッチファイルを変更していくつかの引数を追加したため、バッチファイルに名前を渡す必要があるため、これを試しました:(「Name1」を引数として送信します)
final String cmd = "cmd /c C: && dir && cd C:\MyApp\Maxi && dir && C:\MayApp\Maxi\deploy.bat Name1";
try {
Process process = Runtime.getRuntime().exec(cmd);
final InputStream in = process.getInputStream();
int ch;
while((ch = in.read()) != -1) {
System.out.print((char)ch);
}
} catch (IOException e) {
System.out.println("IOException on CMD executing statement");
e.printStackTrace();
}
しかし、現在は機能しておらず、コマンドは実行されません。「dir」コマンドの出力しか得られません。
誰でも助けることができますか?
注: コマンドは CMD では正常に実行されますが、java からは機能しません。