Runtime.getRuntime().exec()和双击执行批处理文件有何区别?
当我使用Runtime.getRuntime().exec()(情况1)执行批处理文件时,如下所示:
String[] command = {"cmd.exe", "/C", "Start", "D:\\test.bat"};
Process p = Runtime.getRuntime().exec(command);
或者
Process p = Runtime.getRuntime().exec("cmd /c start "+"D:\\test.bat")
一个新的cmd控制台窗口打开,并启动test.bat。
如果我尝试通过桌面上的鼠标双击执行test.bat(情况2),它也会在新的cmd控制台窗口中打开并启动应用程序。
但是当我尝试停止test.bat时就出现了问题。我使用'Ctrl-C'来停止批处理文件。
在情况1中使用'Ctrl-C'时,cmd控制台停止但仍然保留窗口和提示行。
但是,在情况2下,当我使用'Ctrl-C'时,cmd控制台停止并关闭窗口!
我想在情况1下关闭窗口。但我不知道该怎么做..我该怎么办?
附注:我尝试在test.bat中写入“exit”,但它没有起作用。