[英]How to run a batch file of an application that takes images as arguments in java
我有一个批处理文件run.bat
,它需要很多参数才能运行。 它是名为GeoMatch
的应用程序的一部分,我将GeoMatch.exe
与.bat文件放在同一文件夹中。
为了运行应用程序,我需要运行批处理文件。
通过在Windows中使用命令提示符,我运行批处理文件,如下所示:
C:\programs\test\GeoMatch_demo>GeoMatch -t template.jpg -1 10 -h 100 -s search1.
jpg -m 0.7 -g 0.9
我得到了我想要的输出。 但是,当我尝试从我的Java Application
运行相同时,我没有得到所需的结果。
我的Java代码:
import java.io.*;
import java.lang.*;
public class BatchDemo
{
public static void main(String args[]) throws IOException
{
try{
String cmd;
try {
String[] command = { "cmd.exe", "/C", "Start", "C:\\programs\\test\\GeoMatch_demo\\run.bat","C:\\programs\test\\GeoMatch_demo\\Search1.jpg","C:\\programs\\test\\GeoMatch_demo\\template.jpg"};
Runtime r = Runtime.getRuntime();
Process p = r.exec(command);
p.waitFor();
} catch (Exception e)
{
System.out.println("Execution error");}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
另外,要运行此.bat文件,我们需要3个DLL与.bat文件位于同一文件夹中。 我已经在我的Java项目中添加了这3个DLL,但仍然没有得到所需的结果。
有人能帮我吗 ?
提前致谢
当您从java代码执行bat文件时,您不会更改cmd
的当前目录,这意味着您实际上并不在C:\\\\programs\\\\test\\\\GeoMatch_demo\\\\
。 所以无法找到exe文件。 如果在批处理文件中引用具有绝对路径的exe文件,则问题应该消失。
尝试将路径C:\\ programs \\ test \\ GeoMatch_demo添加到PATH环境变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.