java程序调用bat文件和exe文件

1 .调用exe文件

    1.1 使用Runtime类。

 

//测试过貌似不行  
try {

    Runtime rt = Runtime.getRuntime();

    rt.exec("C:\\WINDOWS\\NOTEPAD.exe");

    } catch (Throwable t){

    System.out.print(t.getMessage());

    }



    //这样可以,测试过
 
   try {
            Runtime rt=Runtime.getRuntime();
            String file = "E:/test/rem1.exe";
            //String file = "E:/test/rem1.bat";
            rt.exec("cmd.exe /c start " + file);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 


    1.2 BAT文件不同于一般exe文件,但可将批处理bat文件转换为exe可执行文件,然后再通过Java调用可执行文件。转换可借助于Quick Batch File (De)Compiler,它可以将任何BAT、CMD批处理脚本编译为EXE文件。使用:(Quick Batch File Compiler网上可以下载)

    Quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)

    quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)

    2.直接调用bat文件

    批处理文件不同于一般的可执行文件,批处理只是一系列命令脚本,他的运行要依靠解释他的程序,而你要创建的也应该是这个解释程序

 

//测试过 ok
   try {
            Runtime rt=Runtime.getRuntime();
            //String file = "E:/test/rem1.exe";
            String file = "E:/test/rem1.bat";
            rt.exec("cmd.exe /c start " + file);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 

本文中的rem1.bat内容为:

@echo off
for %%i in (a b c) do (
:来瓶啤酒
echo hero!
echo %%i
echo ^G^G
)
del E:\test\1.txt
 pause 
echo jixu



你可能感兴趣的:(java程序调用bat文件和exe文件)