开门见山的说,文件目录如下
想调用123.exe,但是尝试了几次调用不到,然后写了个bat。初始内容如下
@echo off
D:
cd test
"123.exe"
双击可以运行,但是java代码无法调用,怪事。于是,辗转反侧,苦思冥想,后来发现压根就没进入这个目录。(过程省略),解决办法:更改bat如下
cd /d %~dp0
@echo off
"123.exe"
%~dp0 的具体用法去搜一下就晓得了。结果:成功了。调用代码如下:
public class testBat {
public void runbat(String batName) {
try {
Process ps = Runtime.getRuntime().exec(batName);
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("调用成功");
}
public static void main(String[] args) throws IOException {
testBat test1 = new testBat();
String batName = "D:\\test\\a.bat";
test1.runbat(batName);
}
}