在我的程序中,我想在.bat文件的帮助下使用一些参数执行jar。
.bat文件
%6 -jar %5 -u %1 -p %2 -dbbkp %3 > %4
java程序,将参数传递给上面的.bat文件
String jarPath=request.getSession().getServletContext().getRealPath("")+"/OES-SmartClient/OES-SmartClient.jar";
String outputfilepath=request.getSession().getServletContext().getRealPath("")+"/resources/WebFiles/OESFiles/DBBackupStatus.txt";
String jrePath="C:\\Program Files (x86)\\Java\\jre7\\bin\\java";
String batfilePath = request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/OESDBBackup.bat";
String BackupLocation = request.getSession().getServletContext().getRealPath("")+"/WEB-INF/classes/BackupLocation";
batfilePath="\""+batfilePath+"\"";
jarPath="\""+jarPath+"\"";
outputfilepath="\""+outputfilepath+"\"";
BackupLocation="\""+BackupLocation+"\"";
process = Runtime.getRuntime().exec(batfilePath +" "+ dbUser.getUserName()+" "+ dbUser.getPassword()+" "+BackupLocation+" "+outputfilepath+" "+jarPath+" "+jrePath);
以上代码用于进行数据库备份。
当我运行此程序时,它没有给出错误,但也无法进行数据库备份。
当我给BackupLocation这样的“C:\ Sm \”(没有空格参数)时,它正常工作。
请有人建议我如何用空格传递我的参数。