簡體   English   中英

Bat文件在由Java執行時未按預期執行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM