أعد توجيه الإخراج من سطر أوامر Windows إلى ملف نصي

-توجيه-الإخراج-من-سطر-أوامر-Windows-إلى-ملف-نصي.jpeg


تعد إعادة توجيه الإخراج إلى ملف من أكثر الطرق المفيدة لتسجيل أوامر Windows أو المهام الدفعية وإصلاحها.

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

كيف يعمل Windows Command Prompt Exit

عندما تكتب أمرًا في وحدة تحكم Windows (موجه الأوامر) ، ينتقل إخراج هذا الأمر إلى دفقين منفصلين.

  • STDOUT: Standard Out هو المكان الذي تذهب إليه استجابات الأوامر القياسية. على سبيل المثال ، الاستجابة القياسية لأمر DIR هي قائمة ملفات في دليل.
  • ستدير: الخطأ القياسي هو المكان الذي تنتقل إليه رسائل الخطأ إذا كانت هناك مشكلة في الأمر. على سبيل المثال ، في حالة عدم وجود ملفات في الدليل ، سيعرض الأمر DIR “لم يتم العثور على الملف” في تدفق الأخطاء القياسي.

يمكنك إعادة توجيه الإخراج إلى ملف في Windows لكل من تدفقات الإخراج هذه.

إعادة توجيه كتابة الإخراج القياسي إلى ملف جديد

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

للقيام بذلك ، افتح موجه الأوامر واكتب:

dir test.exe > myoutput.txt

يخبر الحرف> وحدة التحكم بالخروج STDOUT إلى الملف بالاسم المحدد.

بعد تشغيل هذا الأمر ، ستلاحظ عدم وجود استجابة في نافذة الأوامر باستثناء الخطأ المتمثل في عدم وجود الملف.

هذا بسبب إعادة توجيه الإخراج القياسي للأمر إلى ملف يسمى myoutput.txt. الملف موجود الآن في نفس الدليل حيث تم تشغيل الأمر. لا يزال يتم عرض الخطأ القياسي كالمعتاد.

انتباه: كن حذرًا لتغيير الدليل النشط لسطر الأوامر قبل تشغيل الأمر. بهذه الطريقة سوف تعرف مكان تخزين الملفات الناتجة.

يمكنك عرض الإخراج القياسي الذي تم إدخاله في ملف عن طريق كتابة “myoutput.txt” في نافذة الأوامر. سيؤدي هذا إلى فتح الملف النصي في متصفح الملفات النصية الافتراضي الخاص بك. بالنسبة لمعظم الأشخاص ، يكون هذا عادةً Notepad.exe.

في المرة التالية التي تقوم فيها بتشغيل نفس الأمر ، سيتم حذف ملف الإخراج السابق. سيتم إعادة إنشاء ملف الإخراج الجديد بأحدث إخراج للأمر.

إعادة توجيه الإخراج القياسي يكتب إلى نفس الملف

ماذا لو كنت لا تريد الكتابة فوق نفس الملف؟ خيار آخر هو استخدام >> بدلاً من> لإعادة التوجيه إلى ملف الإخراج. في هذا المثال ، اكتب:

dir test.exe >> myoutput.txt

سترى نفس الإخراج (خطأ فقط).

ولكن في هذه الحالة ، بدلاً من الكتابة فوق ملف الإخراج ، يقوم هذا الأمر بإلحاق الإخراج الجديد بملف الإخراج الحالي.

في كل مرة تقوم فيها بتشغيل أمر وإلحاق الإخراج بملف ، ستتم كتابة stdout الجديد في نهاية الملف الحالي.

إعادة توجيه الخطأ القياسي إلى ملف

بنفس الطريقة التي يمكنك من خلالها إعادة توجيه الإخراج القياسي إلى ملف ، يمكنك أيضًا إرسال تدفق الأخطاء القياسي إلى ملف.

للقيام بذلك ، تحتاج إلى إضافة 2> في نهاية الأمر متبوعًا بملف خطأ الإخراج الذي تريد إنشاءه.

في هذا المثال ، ستكتب الأمر:

dir test.exe > myoutput.txt 2> output.err

يؤدي هذا إلى إرسال دفق الإخراج القياسي إلى myoutput.txt ودفق الخطأ القياسي إلى output.err. نتيجة لذلك ، لا يتم عرض تدفق الإخراج في نافذة وحدة التحكم.

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

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

إعادة توجيه كل الإخراج إلى نفس الملف

كل الطرق المذكورة أعلاه تنتج ملفات متعددة. ملف واحد لتدفق الإخراج القياسي والآخر لتيار الخطأ القياسي.

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

dir test.exe 1> myoutput.txt 2>&1

إليك كيفية عمل هذا الأمر:

  • يتم توجيه الإخراج القياسي إلى ملف الإخراج المحدد بواسطة رقم الإخراج 1.
  • يتم إعادة توجيه ناتج الخطأ القياسي المميز بالرقم 2 إلى ملف الإخراج المميز بالرقم 1.

سيؤدي هذا إلى إلحاق ناتج الخطأ بنهاية الإخراج القياسي.

هذه طريقة سهلة لرؤية كل مخرجات أي أمر في ملف واحد.

معيار كتم الصوت أو تدفقات الإخراج الخطأ

يمكنك أيضًا تعطيل الإخراج القياسي أو الخطأ القياسي عن طريق إعادة توجيه الإخراج إلى NUL بدلاً من ملف.

باستخدام المثال أعلاه ، إذا كنت تريد الإخراج القياسي فقط ولا تريد الخطأ القياسي على الإطلاق ، فيمكنك استخدام الأمر التالي:

dir test.exe 1> myoutput.txt 2>nul

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

هذا مفيد إذا كنت لا تهتم بأي أخطاء ولا تريد أن تصبح مصدرًا للألم.

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

scroll to top