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\regular\bin\com\ludyhu\threadlocal
jar cvfm View3D.jar Manest.mf *.* pause

  

04-17 22:10