java调用exe,及调用bat不成功的解决办法
开门见山的说,文件目录如下
想调用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); } }