我正在使用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()尝试时失败了。会出现什么问题?
先谢谢..
答案 0 :(得分:2)
也许"When Runtime.exec() won't"可以帮到你。
命令在命令shell中而不是在Java中工作的原因可能是命令shell的优点是能够引用PATH环境变量来查找它; Java不能。我敢打赌,如果你把Nmap.exe的完整路径放在一起你会更好。