如何使用java runtime.exec()将参数传递到批处理文件中。
****进程pp = run.exec(“C:\ Program Files \ Apache Group \ Tomcat 4.1 \ bin \ RMIClientInvoker.bat C:\ Program Files \ Apache Group \ Tomcat 4.1 \ bin localhost date“); ****
当我使用这个编码时会出现错误。参数是最后三部分。补丁文件是RMIClientInvoker.bat。我尝试在命令行中出现相同的错误,但我把双Qoutes放到参数正确的o / p display.so任何一个帮助如何给参数doubleQoutes。
答案 0 :(得分:2)
逃避双引号:
Process pp = run.exec("\"C:\Program Files\Apache Group\Tomcat 4.1\bin\RMIClientInvoker.bat\" \"C:\Program Files\Apache Group\Tomcat 4.1\bin\" localhost date");
失败的原因是运行时exec按空格分割参数(与java调用Main
方法时的方式相同)。引用参数确保它将整个C:\ Program Files \ Apache Group \ Tomcat 4.1 \ bin \ RMIClientInvoker.bat视为单个参数,并且不认为它是一组四个参数: