我正在使用命令提示符运行此命令,它运行正常:没有任何问题:
start demo:" -ping -ip 172.18.102.65"
在上面的命令中,demo:
是我创建的custom uri
,我将参数传递给-ping
,-ip
和{{1}的自定义uri使<an_ip_address>
工作。
但是当我使用此代码运行相同的命令时,它无法正常工作:
custom uri
我收到一条错误消息:Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c", "start", "demo:\" -ping -ip 172.18.102.65\""});
请建议如何使这项工作。
答案 0 :(得分:1)
在澄清问题后重写我的回答(谢谢!)。
这是适用于我的语法:
Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c", "start demo:\" -ping -ip 172.18.102.65\""});
似乎解析类java.lang.ProcessImpl中的参数的代码以一种使得生成的Windows命令行不正确的方式解释\"
。显然,使用“start ...”作为单个参数可以解决这个问题。
编辑:要使此URI在Internet Explorer中正常工作,您需要根据URL编码规则转义双引号,因此您需要在地址栏中键入以下内容:
demo:%22 -ping -ip 172.18.102.65%22
其中%22
(十六进制值)表示"