我已经写了一个bat文件来安装mysql。它在双击执行时工作得很好,但当它被java程序执行时,它会提示并消失,什么也不会发生。有什么建议吗?
这是我的bat文件:
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");发布于 2014-07-10 12:49:38
假设您的bat文件在Java之外工作,只需更改以下内容
Runtime.getRuntime().exec("cmd /c start MySQL.bat");至
Runtime.getRuntime().exec("MySQL.bat");发布于 2014-07-10 13:26:48
我建议试试这个:
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();https://stackoverflow.com/questions/24668672
复制相似问题