从文件位置运行 Java 中的.exe文件
2022-09-02 00:21:16
我必须从我的Java程序中打开一个.exe文件。所以我先尝试了以下代码。
Process process = runtime.exec("c:\\program files\\test\\test.exe");
但是我遇到了一些错误。然后我发现exe必须从 c://program 文件/test/的位置启动,然后它才会打开并显示错误。因此,我决定编写一个.bat文件并执行,以便它将 cd 到该位置并执行.exe文件。
以下是我的代码:
BufferedWriter fileOut;
String itsFileLocation = "c:\\program files\\test\\"
System.out.println(itsFileLocation);
try {
fileOut = new BufferedWriter(new FileWriter("C:\\test.bat"));
fileOut.write("cd\\"+"\n");
fileOut.write("cd "+ itsFileLocation +"\n");
fileOut.write("test.exe"+"\n");
fileOut.write("exit"+"\n");
fileOut.close(); // Close the output stream after all output is done.
} catch (IOException e1) {
e1.printStackTrace();
} // Create the Buffered Writer object to write to a file called filename.txt
Runtime runtime = Runtime.getRuntime();
try {
Process process =runtime.exec("cmd /c start C:\\test.bat");
} catch (IOException e) {
e.printStackTrace();
}
上面的代码工作得很好。但是,命令提示符也会在我的.exe(应用程序)的背面打开。只有在.exe文件退出后,它才会关闭。
当我的应用程序统计信息时,我需要关闭命令提示符。
我的.bat文件在程序写入后将如下所示。
cd\
cd C:\Program Files\test\
test.exe
exit