0

Java 1.6、Eclipse、Windows 7 を使用しています。Java プログラムでコマンドを実行して NMAP を使用しようとしています。

コード :

String cmd[] = { "cmd.exe", "/c","start notepad.exe"};

Process pr = rt.exec(cmd);

正常に動作しますが、コード:

String cmd[] = { "cmd.exe", "/c","start nmap.exe"};

Process pr = rt.exec(cmd);

単にしません。

コマンドプロンプトで両方のコマンドを試しましたが、どちらも正常に動作しますが、Runtime.exec() で試してみると後者のコマンドは失敗します。問題は何ですか?

前もって感謝します..

4

1 に答える 1

2

多分「Runtime.exec()がうまくいかないとき」があなたを助けることができます。

このコマンドが Java ではなくコマンド シェルで機能する理由は、コマンド シェルには PATH 環境変数を参照して検索できるという利点があるためです。Java はできません。Nmap.exe へのフル パスを入力すると、うまくいくと思います。

于 2010-03-07T01:17:01.790 に答える