2

我正在使用命令提示符运行此命令,并且运行良好:没有任何问题:

start demo:" -ping -ip 172.18.102.65"

在上面的命令中,demo:custom uri我创建的,我将参数传递给自定义 uri,它是-ping-ip<an_ip_address>使其custom uri工作。

但是,当我使用此代码运行相同的命令时,它不起作用:

Runtime.getRuntime().exec(new String[] {"cmd.exe", "/c", "start", "demo:\" -ping -ip 172.18.102.65\""});

我收到一条错误消息:Windows Cannot find '-ping'

请建议如何使这项工作。

4

1 回答 1

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(十六进制值)表示 url 编码代码"

于 2014-10-17T16:17:36.477 回答