有关java调用批处理文件

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

  

计划、执行、每天高效的活着学着
原文地址:https://www.cnblogs.com/huxiaoyun90/p/3297617.html