開門見山的說,文件目錄如下
想調用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); } }