我必须从我的Java程序中打开一个.exe文件。因此我首先尝试了以下代码。
Process process = runtime.exec("c:\\program files\\test\\test.exe");
但是我遇到了一些错误。然后我发现该exe必须从c:// program files / 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
您不需要控制台。您可以使用工作目录执行流程:
exec(String command,String [] envp,File dir)
在具有指定环境和工作目录的单独进程中执行指定的字符串命令。
关于您的代码应该是…
Runtime.getRuntime().exec("c:\\program files\\test\\test.exe", null, new File("c:\\program files\\test\\"));
问题内容: 我有一个巨大的JAR文件,是使用插件创建的。 我使用来运行它,并且UI随即打开。现在我要执行该文件,该文件也位于该JAR文件中,该怎么办? 我尝试将exe放到我的类路径中并从那里运行它,但尝试后发现类路径实际上是我的JAR所在的位置。 有什么建议? 在这里找到了这个东西,但这真的是最好的解决方案吗?似乎很多工作,我觉得这里有不同的情况,因为我可以自己定义exe的位置,而JAR是由我创建
在windows中读到ADS(备用数据流),所以遇到了这个东西。在Windows XP上工作以测试以下内容。 在这里之前,这很正常 现在,我尝试隐藏一个exe文件,假设-notepad.exe隐藏在一个txt示例后面,如下所示:--(我已经将notepad.exe复制到了同一个文件夹中) 键入notepad.exe>sample.txt:newexe.exe
问题内容: 我正在尝试从Java代码执行.py文件。我将.py文件移动到Java项目的默认目录中,并使用以下代码对其进行调用: 使用变量run或整个路径或“ python file.py”,我的代码正在运行,显示消息构建成功总时间为0秒,而没有执行file.py。我这是什么问题 问题答案: 您也可以这样使用: 要么 从Java运行Python脚本
问题内容: 我有一个提供文件(包括文件名)的绝对路径的文件。我只想获取文件名。最简单的方法是什么? 必须尽可能地笼统,因为我无法事先知道该URL是什么。我不能简单地创建一个URL对象并使用-尽管所有可能的情况都是理想的- 因为它不一定是前缀,它可以是c:/或类似的东西。 问题答案: 要么 请注意,第一个解决方案取决于系统。它仅考虑系统的路径分隔符。因此,如果您的代码在Unix系统上运行并接收Win
我想在脚本中做的是: 列出docker主机上某些正在运行的容器 获取相应的docker-compose.yml文件位置 使用docker-compose立即重新启动相应docker-compose项目的所有容器