سؤال

أنا أستخدم 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);

ببساطة لا.

لقد جربت كلا الأوامر في موجه الأوامر ، وكلاهما يعمل بشكل جيد ولكن الفاعل الأخير يفشل عندما أحاول ذلك مع وقت التشغيل. Exec (). ما هي المشكلة المتوقعة ؟

شكرا لك مقدما..

هل كانت مفيدة؟

المحلول

يمكن "عندما لا يكون وقت التشغيل. Exec ()" يستطيع مساعدتك.

قد يكون السبب في أن الأمر يعمل في قذيفة الأوامر وليس في Java هو أن قذيفة الأوامر لديها ميزة القدرة على الرجوع إلى متغير بيئة المسار للعثور عليه ؛ جافا لا يمكن. سأراهن إذا وضعت المسار الكامل إلى nmap.exe أنك ستحسن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top