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