J'utilise Java 1.6, Eclipse, Windows 7. J'essaie d'exécuter des commandes dans un programme Java pour utiliser NMAP.Problème avec Java Runtime.exec() lors de la tentative de démarrage de Nmap.exe
Le code:
String cmd[] = { "cmd.exe", "/c","start notepad.exe"};
Process pr = rt.exec(cmd);
fonctionne très bien, mais le code:
String cmd[] = { "cmd.exe", "/c","start nmap.exe"};
Process pr = rt.exec(cmd);
ne tout simplement pas.
J'ai essayé les deux commandes dans l'invite de commande, elles fonctionnent toutes les deux bien mais la dernière échoue quand je l'essaye avec le Runtime.exec(). Quel serait le problème ?
Merci à l'avance ..
Merci pour la réponse! J'ai lu cet article plusieurs fois mais je n'ai pas trouvé la réponse. Malheureusement, je pense que le problème ne concerne pas ces 4 pièges. Ce que je ne comprends pas, c'est pourquoi le même type de commande fonctionne avec un programme natif comme le bloc-notes et pas avec NMAP. Lorsque vous utilisez Runtime.exec(), Windows oublie simplement les informations sur NMAP. Je reçois une erreur indiquant que "Windows ne trouve pas 'nmap.exe'. Assurez-vous d'avoir tapé le nom correctement, puis réessayez". Mais la même commande fonctionne avec l'invite de commande. –
"J'obtiens une erreur qui indique" Windows ne peut pas trouver 'nmap.exe'. "- Alors le problème est * clairement * que" nmap.exe "ne peut pas être trouvé sur le PATH que' cmd.exe' utilise quand exécuté via 'Process.exec (...)' .Utilisez le chemin d'accès complet pour 'nmap.exe' et cela devrait fonctionner –
Travaillé comme un charme .. Merci beaucoup! –