java是种跨平台的语言,我们经常碰到需要通过java调用windows下某些程序。有些第三方厂商如(ant),也提供了调用windows下可执行程序的方法,但我们往往需要调用一些批处理命令。而java却不提供。这里,我采用一种变相的调用方法,使得java能调用批处理命令。
前期准备
quick batch file (de)compiler
将任何bat、cmd批处理脚本编译为exe文件。
1、运行exe 文件
java jdk里已经提供了调用的方法,不在累赘,代码如下。
try {
string command = "notepad";
process child =
runtime.getruntime().exec(command);
} catch (ioexception e)
{
}
2、运行 bat(批处理) 文件
java对批处理文件还不支持。刚开始一直在研究java如何调用批处理文件,始终找不到解决方法。后来只好绕过批处理,考虑如何将批处理转换为exe可执行文件。然后再通过java调用可执行文件。
在google上搜索一下,找到quick batch file (de)compiler,可以将任何bat、cmd批处理脚本编译为exe文件。使用了一下,果然可以。
quick batch file (de)compiler使用非常简单:
quickbfc 文件名.bat 文件名.exe(将批处理命令编译为可执行文件)
quickbfd 文件名.exe 文件名.bat(将可执行文件反编译为批处理命令)
然后,我们再按第一种方法通过java 调用,即可。
闽公网安备 35060202000074号