Pergunta

Estou usando o Java 1.6, Eclipse, Windows 7. Estou tentando executar comandos em um programa Java para usar o NMAP.

O código :

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

Process pr = rt.exec(cmd);

Funciona bem, mas o código:

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

Process pr = rt.exec(cmd);

simplesmente não.

Eu tentei os dois comandos no prompt de comando, ambos funcionam bem, mas o último falha quando eu o tento com o tempo de execução.exec (). Qual seria o problema ?

Desde já, obrigado..

Foi útil?

Solução

Pode ser "Quando RunTime.exec () não" não " pode ajudá -lo.

A razão pela qual o comando funciona em um shell de comando e não em Java pode ser que o shell de comando tenha a vantagem de poder se referir à variável do ambiente do caminho para encontrá -lo; Java não pode. Aposto que se você colocar o caminho completo para nmap.exe, você se sairá melhor.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top