نوافذ النصي الدفعي لرسالة خطأ الطباعة ما إذا كان المنفذ قيد الاستخدام

StackOverflow https://stackoverflow.com/questions/851962

  •  21-08-2019
  •  | 
  •  

سؤال

وأنا أحاول أن أكتب نصي دفعي أخطاء ما إذا كان المنفذ 1099 قيد الاستخدام بالفعل.

للأسف لا بد لي من الكتابة في السيناريو دفعة DOS (لا أستطيع تثبيت أي شيء).

وأنا أعلم أنني يمكن طباعة PID من عملية القص ميناء 1099 يدويا:

netstat -aon | findstr ":1099"

ولكن أريد أن تكون قادرة على تشغيل هذا الأمر في برنامج نصي دفعة والخروج من البرنامج النصي مع رسالة خطأ إذا هذا الأمر لديه أي الانتاج.

وأفترض في دفعة أتمكن من توجيه الإخراج إلى ملف مؤقت واختبار حجم ذلك، ولكن يبدو أن hacky حقا ...

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

المحلول

 netstat -an | FINDSTR ":1099" | FINDSTR LISTENING && ECHO Port is in use && EXIT 1

ويمكنك استخدام && في السيناريو دفعة لتشغيل أمر إلا إذا كان الأمر السابق ناجح (على أساس لها رمز إنهاء / ERRORLEVEL). هذا يسمح لك لعرض رسالة والخروج فقط إذا تم العثور على سلسلة كنت تبحث عن في إخراج NETSTAT.

وأيضا، كنت تريد أن تبدو بشكل واضح للموانئ LISTENING.

وFINDSTR تدعم التعابير العادية بحيث يمكنك أيضا القيام بما يلي لتقصير سطر الأوامر:

netstat -an | findstr /RC:":1099 .*LISTENING" && ECHO Port is in use && EXIT 1
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top