- ベストアンサー
Java getRuntime().exec() でのパイプ利用に関して。
はじめまして。 JavaのgetRuntime().execでコマンドプロンプトを動かそうと思っております。 コマンドプロンプトで「netstat -an | find "***"」というコマンドをJavaから実行したいと思っています。 しかし、Javaではパイプ(=|)を利用したコマンドは実行できない。 ということを検索してたどり着きました。 例などでは、「シェル」を利用しろ。などとかかれていましたが何をどうすればいいかわかりません。 String[] s = {"netstat","-an"}; Process process = Runtime.getRuntime().exec(s); 今は上記の状態で「netstat -an」が実行されています。 どうすれば「find "***"」で***の検索をかけることができるでしょうか? どうぞ、よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- SN1701
- ベストアンサー率76% (16/21)
回答No.5
- akomot
- ベストアンサー率50% (2/4)
回答No.4
- pcbeginner
- ベストアンサー率46% (261/560)
回答No.2
- pcbeginner
- ベストアンサー率46% (261/560)
回答No.1
お礼
お返事ありがとうございます。 String[] s = {"cmd.exe", "/c", "netstat -an | find "\"***\""}; に変更したら無事に実行し、結果を得ることができました。 ありがとうございます。 ところで、重ね重ねの質問になってしまうのですが、上で使用されている「cmd.exe」と「/c」これらの意味(前者はcmdの起動だと思いますが。)と必要な理由を教えていただけないでしょうか?