【发布时间】:2014-07-10 04:47:03
【问题描述】:
我写了一个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");
【问题讨论】:
-
我的 bat 文件完美地自行运行并安装了 mysql,但没有使用 java 程序,这是我遇到的问题。
-
当通过 ... 启动命令时(比如你的用例中的 java),永远不要对环境变量有信心。使用所有命令的完整路径(至少
MySQLInstanceConfig)并监视您使用的其他环境变量(echo "%pro%" > c:\accessible\path\spy.txt)。
标签: java mysql batch-file