我已经编写了一些代码来执行包含一些命令的.bat文件,例如设置Java classpath等。最后有一个命令运行Java类文件。HelloWorld类将一些xml文件转换并在某个文件夹中生成新的xml文件。当我双击.bat文件时,它可以正常执行,但是当我尝试运行时,无法得到与双击.bat文件相同的输出结果。如何才能让批处理程序执行,并且最好可以通过Java控制台查看结果。
以下是用于执行.bat文件的MyJava代码。
以下是设置为.bat文件的一些命令:
尝试使用
我可以通过Eclipse控制台看到
以下是用于执行.bat文件的MyJava代码。
public void run2() {
try {
String []commands = {"cmd.exe","/C","C:/MyWork/Java/classes/run.bat"} ;
Process p = Runtime.getRuntime().exec(commands);
BufferedReader in = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
以下是设置为.bat文件的一些命令:
set CLASSPATH=%CLASSPATH%;C:/MyWork/Java
set CLASSPATH=%CLASSPATH%;C:/MyWork/Java/classes
java -cp test.jar;test2.jar test.HelloWorld
尝试使用
"/C"
命令,但它没有执行。实际上它没有双击.bat
文件的效果。我还有其他方法可以尝试吗?我可以通过Eclipse控制台看到
.bat
文件中的内容。但是它没有给出期望的输出。期望的输出意味着当我双击.bat
文件时,它可以正常执行。但是通过java
调用,我只能看到内容。