إعادة توجيه رسائل الخطأ من موجه الأوامر: STDERR/STDOUT

ملخص

عند إعادة توجيه الإخراج من أحد التطبيقات باستخدام رمز ">"، ستظل طباعة رسائل الخطأ على الشاشة. وهذا لأنه غالبًا ما يتم إرسال رسائل الخطأ إلى "دفق الخطأ القياسي" بدلاً من "دفق الإخراج القياسي".


غالبًا ما يتم إرسال الإخراج من تطبيق وحدة التحكم (موجه الأوامر) أو الأمر إلى تدفقين منفصلين. يتم إرسال الإخراج العادي لمعيار الخروج (STDOUT) ويتم إرسال رسائل الخطأ إلى "الخطأ القياسي" (STDERR). عند إعادة توجيه إخراج وحدة التحكم باستخدام رمز ">"، يمكنك فقط إعادة توجيه STDOUT. لإعادة توجيه STDERR يجب عليك تحديد "2 >" لرمز إعادة التوجيه. يحدد هذا دفق الإخراج الثاني وهو STDERR.

المثال

سيعرض الأمر "dir file.xxx" (حيث يكون file.xxx غير موجود) الإخراج التالي:

مجلد التخزين في محرك الأقراص F هو Candy Cane، رقم الاسم التسلسلي هو 34EC-0876


تعذر العثور على الملف

في حالة إعادة توجيه الإخراج إلى جهاز NUL باستخدام "dir file.xxx > nul"، ستظل تشاهد رسالة الخطأ التالية:

تعذر العثور على الملف

لإعادة توجيه رسالة الخطأ إلى NUL، استخدم الأمر التالي:

   dir file.xxx 2> nul

أو يمكنك إعادة توجيه الإخراج إلى مكان واحد والأخطاء إلى مكانٍ آخر.

   dir file.xxx > output.msg 2> output.err

يمكنك طباعة الأخطاء والإخراج القياسي إلى ملف واحد باستخدام الأمر "&1" لإعادة توجيه إخراج STDERR إلى STDOUT ثم إرسال الإخراج من STDOUT إلى ملف:

   dir file.xxx 1> output.msg 2>&1

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

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

نشكرك على ملاحظاتك!

شكراً لك على الملاحظات! يبدو أنه من المفيد إيصالك بأحد وكلاء دعم Office لدينا.

×