java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令。
cmd /c dir 是执行完dir命令后关闭命令窗口。
cmd /k dir 是执行完dir命令后不关闭命令窗口。
cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。
cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭
 
public static void main(String[] args) {    
    String path = "D:\\public.bat";    
    Runtime run = Runtime.getRuntime();    
    try {   
        Process process = run.exec("cmd.exe /k start " + path);    
        InputStream in = process.getInputStream();      
        while (in.read() != -1) {    
            System.out.println(in.read());    
        }    
        in.close();    
        process.waitFor();    
    } catch (Exception e) {             
        e.printStackTrace();    
    }    
   
}