私はこのコードを持っています:
File file = new File(path + "\\RunFromCode.bat");
file.createNewFile();
PrintWriter writer = new PrintWriter(file, "UTF-8");
for (int i = 0; i <= MAX; i++) {
writer.println("@cd " + i);
writer.println(NATIVE SYSTEM COMMANDS);
// more things
}
writer.close();
Process p = Runtime.getRuntime().exec("cmd /c start " + path + "\\RunFromCode.bat");
p.waitFor();
file.delete();
何が起こるかというと、ファイルが実際に実行される前に削除されたということです。
これは、.bat
ファイルにネイティブ システム コールしか含まれていないためでしょうか。ファイルの実行後に削除するにはどうすればよい.bat
ですか? .bat
(動的に変更されるため、ファイルの出力がどうなるかわかりません)。