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 コマンド ラインが正しくない方法で解釈されるようです。どうやら、「開始...」を単一の引数として使用すると、それが解決されます。

編集:この URI を Internet Explorer で機能させるには、URL エンコード規則に従って二重引用符をエスケープする必要があるため、アドレス バーに次のように入力する必要があります。

demo:%22 -ping -ip 172.18.102.65%22

ここで、%22(16 進値) は URL エンコード コードを表します。"

于 2014-10-17T16:17:36.477 に答える