Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试启动Nmap.exe时Java Runtime.exec()出现问题_Java_Command Prompt_Runtime.exec_Nmap - Fatal编程技术网

尝试启动Nmap.exe时Java Runtime.exec()出现问题

尝试启动Nmap.exe时Java Runtime.exec()出现问题,java,command-prompt,runtime.exec,nmap,Java,Command Prompt,Runtime.exec,Nmap,我正在使用Java1.6、Eclipse和Windows7。 我试图在java程序中运行命令以使用NMAP 守则: 字符串cmd[]={“cmd.exe”,“/c”,“start notepad.exe”} 进程pr=rt.exec(cmd); 工作正常,但代码: 字符串cmd[]={“cmd.exe”,“/c”,“start nmap.exe”} 进程pr=rt.exec(cmd); 根本没有 我在命令提示符下尝试了这两个命令,它们都可以正常工作,但在使用Runtime.exec()尝

我正在使用Java1.6、Eclipse和Windows7。 我试图在java程序中运行命令以使用NMAP

守则:


字符串cmd[]={“cmd.exe”,“/c”,“start notepad.exe”}

进程pr=rt.exec(cmd);

工作正常,但代码:


字符串cmd[]={“cmd.exe”,“/c”,“start nmap.exe”}

进程pr=rt.exec(cmd);

根本没有

我在命令提示符下尝试了这两个命令,它们都可以正常工作,但在使用Runtime.exec()尝试后,后一个命令失败。有什么问题吗

谢谢,请提前….

也许可以帮你


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

谢谢你的回答!那篇文章我读了很多遍,但都没有找到答案。不幸的是,我认为,问题不在于这4个陷阱。我不明白的是,为什么相同类型的命令适用于notepad之类的本机程序,而不适用于NMAP。当使用Runtime.exec()时,windows会忘记NMAP的位置。我收到一个错误,提示“Windows找不到'nmap.exe'。请确保键入的名称正确,然后重试”。但同样的命令也适用于命令提示符。“我收到一个错误,上面写着“Windows找不到'nmap.exe'”-那么问题显然是,
nmap.exe
在通过
Process.exec(…)执行时所使用的路径上找不到
cmd.exe
。使用
nmap.exe的完整路径名,它应该可以工作。工作起来很有魅力。非常感谢!