نوافذ النصي الدفعي لرسالة خطأ الطباعة ما إذا كان المنفذ قيد الاستخدام
-
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