我写了一些代码来执行.bat
文件。其中包含一些命令,如设置 java classpath,etc
..最后有一个命令运行 Java 类文件。HelloWorld class
转换一些 xml 文件并在某个文件夹中生成一个新的 xml 文件。当我双击 .bat 文件时,它执行得很好,但是当我尝试运行时,我没有得到任何输出,因为我正在通过双击.bat
文件。如何使批处理执行,如果我能通过 Java 控制台看到结果可能会很好。
以下是执行 .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
文件的效果。还有其他方法可以尝试吗?
.bat
我可以通过 Eclipse 控制台查看文件中的内容。但它没有提供所需的输出。所需的输出意味着当我双击.bat
文件时,它执行得很好。但是通过java
电话,我只能看到内容。