我通过以下方式从 main 方法调用批处理文件:
public static void main(String args[]){
Runtime rt=Runtime.getRuntime();
try {
Process pr=rt.exec("D:\\test1.bat");
pr.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
批处理文件的内容如下:
xcopy d:\a1 d:\a2
call C:\Java\jdk1.6.0_27\bin\java.exe -version >log1.txt 2>&1
执行后,文件夹 a1 中的文件被复制到文件夹 a2,但未生成 log1.txt。但是,如果我双击此批处理文件,文件将被复制,并且 log1.txt 将使用 java 版本生成。