1 .调用exe文件
1.1 使用Runtime类。
- //测试过貌似不行
- try {
- Runtime rt = Runtime.getRuntime();
- rt.exec("C:\\WINDOWS\\NOTEPAD.exe");
- } catch (Throwable t){
- System.out.print(t.getMessage());
- }
- //这样可以,测试过
- ry {
- 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