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() 不会”可以帮助你。

命令在命令 shell 中而不是在 Java 中工作的原因可能是命令 shell 具有能够引用 PATH 环境变量来查找它的优点;Java 不能。我敢打赌,如果您将完整路径放入 Nmap.exe,您会做得更好。

于 2010-03-07T01:17:01.790 回答