我在Java
中动态制作.bat
。创建一个“.bat”文件,运行它并从Java中删除它
创建文件并执行后,我想删除它。
为了确保delete()
将在运行.bat
文件后执行,我在另一个线程中删除了该文件。
这是一个很好的方法来完成这项任务吗?你会如何更好地实施它?
final File file = new File("run.bat");
file.createNewFile();
PrintWriter writer = new PrintWriter(file, "UTF-8");
writer.println(COMMAND1);
writer.println(COMMAND2);
.... ANOTHER COMMANDS
writer.close();
Runtime.getRuntime().exec("cmd /c start a.bat");
new Thread(new Runnable() {
public void run() {
file.delete();
}
}).run();
如果你想确保它在执行后删除,您应该等待执行完成并删除它。 – RudolphEst 2013-02-28 13:42:26
如果你有权访问bat文件,你可以使它[删除自己](http://stackoverflow.com/q/2888976/238902“如何使.BAT文件完成后自行删除它?”) – Default 2013-02-28 13:50:13