1 例子
java调用批处理文件
public classRunJarBat {public static voidrunJarBat() {//调用控制台
Runtime rt =Runtime.getRuntime();
Process p= null;try{//指定目录,两种方法1)exec中第三个参数 2)批处理文件中指定目录
p =rt.exec("cmd /c start E:\\project\\regular\\bin\\com\\ludyhu\\threadlocal\\hehe.bat",null,newFile("E:\\project\\regular\\bin\\com\\ludyhu\\threadlocal"));
p.waitFor();
}catch(Exception e) {
System.out.println(e);
}finally{if (p != null) {
System.out.println("d");
p.destroy();
}
}
}public static voidmain(String[] args) {
RunJarBat.runJarBat();
}
}
2 批处理文件
echo Manest-Version: 1.0> Manest.mf
echo Created-By: 1.0 (Jasoncat)>> Manest.mf
echo Class-Path: j3dcore.jar;vecmath.jar;jai_imageio-windows-i586.jar;j3dutils.jar>> Manest.mf
echo Specication-Title: "java">> Manest.mf
echo Main-Class: ThreadLocalTest>> Manest.mf
jar cvfm test.jar Manest.mf *.*
pause
3 注意事项
1)不怎么会写批处理文件的悲哀
2)执行批处理文件记得指定目录
指定目录方法有两种:第一种:代码中指定
p = rt.exec("cmd /c start E:\\project\\regular\\bin\\com\\ludyhu\\threadlocal\\hehe.bat",
null,
new File("E:\\project\\regular\\bin\\com\\ludyhu\\threadlocal"));
第二种:批处理文件中指定
echo Manest-Version: 1.0> Manest.mf
echo Created-By: 1.0 (Jasoncat)>> Manest.mf
echo Class-Path: j3dcore.jar;vecmath.jar;jai_imageio-windows-i586.jar;j3dutils.jar>> Manest.mf
echo Specication-Title: "java">> Manest.mf
echo Main-Class: ThreadLocalTest>> Manest.mf
cd E:\project\regular\bin\com\ludyhu\threadlocal
jar cvfm View3D.jar Manest.mf *.*
pause