1 例子
java调用批处理文件
public class RunJarBat { public static void runJarBat() { // 调用控制台 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, new File( "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 void main(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 egularincomludyhu hreadlocal jar cvfm View3D.jar Manest.mf *.* pause