首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由java执行时,Bat文件不能按预期执行

问由java执行时,Bat文件不能按预期执行
EN

Stack Overflow用户
提问于 2014-07-10 12:47:03
回答 2查看 54关注 0票数 0

我已经写了一个bat文件来安装mysql。它在双击执行时工作得很好,但当它被java程序执行时,它会提示并消失,什么也不会发生。有什么建议吗?

这是我的bat文件:

代码语言:javascript
复制
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代码:

代码语言:javascript
复制
Runtime.getRuntime().exec("cmd /c start MySQL.bat");
EN

回答 2

Stack Overflow用户

发布于 2014-07-10 12:49:38

假设您的bat文件在Java之外工作,只需更改以下内容

代码语言:javascript
复制
Runtime.getRuntime().exec("cmd /c start MySQL.bat");

至

代码语言:javascript
复制
Runtime.getRuntime().exec("MySQL.bat");
票数 0
EN

Stack Overflow用户

发布于 2014-07-10 13:26:48

我建议试试这个:

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24668672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档