[英]Bat file doesn't executed as expected when executed by java
我已經寫了一個bat文件來安裝mysql。 通過雙擊執行時效果很好,但是當由Java程序執行時,它提示並消失了,沒有任何反應。 有什么建議么?
這是我的蝙蝠文件:
set cur=%cd%
set pro=%PROGRAMFILES(x86)%
pause
if exist "%pro%" goto yes86
set pro=%PROGRAMFILES%
:yes86
if exist "%pro%\MySQL\MySQL Server 5.5\bin\mysql.exe" goto yesmysql
msiexec /i "mysql-5.5.13.msi" /passive INSTALLDIR="%pro%\MySQL\MySQL Server 5.5"
cd /d %pro%\MySQL\MySQL Server 5.5\bin
MySQLInstanceConfig.exe -i -q "-lC:\mysql_install_log.txt" "-nMySQL Server 5.5" "- p%pro%\MySQL\MySQL Server 5.5" -v5.5.13 "-t%pro%\MySQL\MySQL Server 5.5\my-template.ini" "-c%pro%\MySQL\MySQL Server 5.5\my.ini" ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=OLTP Port=3306 ServiceName=Mysql Charset=utf8 RootPassword=abc
:yesmysql
這是我的Java代碼:
Runtime.getRuntime().exec("cmd /c start MySQL.bat");
假設您的bat文件可以在Java之外運行,只需更改它
Runtime.getRuntime().exec("cmd /c start MySQL.bat");
至
Runtime.getRuntime().exec("MySQL.bat");
我建議嘗試這個:
List cmdAndArgs = Arrays.asList({"cmd", "/c", "MYSQL.bat"});
File dir = new File("C:/Program Files/MySQL/MySQL Server 5.5/bin/bat");
ProcessBuilder pb = new ProcessBuilder(cmdAndArgs);
pb.directory(new File(dir));
Process p = pb.start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.