إذا كنت في السوق بحثًا عن أمر PowerShell يمكنه تخزين الناتج في ملف نصي، فأنت محظوظ. على وشك أن تتعلم كيفية استخدام أمر Out-File
في PowerShell بالإضافة إلى معلمته الشهيرة Out-File -Append
أيضًا!
كيف يعمل Out-File؟
هذا الأمر في PowerShell بسيط بطبيعته؛ فهدفه الوحيد هو تخزين الناتج الذي يتم استقباله وتخزينه في ملف نصي.
تم تصميمه ليحل محل مشغل التوجيه للناتج القياسي (>
). حتى من أيام DOS، كنا نستطيع توجيه الناتج إلى ملف. هذا الأمر هو الطريقة في PowerShell للقيام بذلك.
يُستخدم أمر Out-File
عادةً في نهاية خط الأوامر في PowerShell. هدفه الوحيد هو إرسال الناتج الخام مباشرةً إلى ملف نصي بدون مراعاة. هناك طرق بسيطة لتعديل كيفية كتابة هذا الناتج.
إرسال الناتج إلى ملف
لنفترض أن لديك سكريبت يُرجع قائمة بجميع خدمات Windows على جهاز الكمبيوتر الخاص بك. عند تشغيل Get-Service
، ستتلقى جميع الكائنات التي قد تتوقعها على وحدة التحكم.
لكن ربما ترغب في حفظ هذا الناتج في ملف نصي. أمر Out-File
هو طريقة رائعة للقيام بذلك. يمكنك استخدام Out-File
عن طريق توصيل أي شيء تقريبًا إليه عبر أنبوبة البيانات.
يمكنك أن ترى أدناه، تم إرسال مخرجات Get-Service
إلى الأداة النصية التي أنشأت ملف نصي يسمى Services.txt يحتوي على العرض الدقيق الذي تراه على وحدة التحكم.
إضافة إلى ملف
بشكل افتراضي، يقوم بالكتابة فوق أي شيء في الملف النصي المقدم عبر معلمة FilePath
. ومع ذلك، يمكنك تجاوز هذا السلوك باستخدام معلمة Append
.
ربما تقوم بتراكم إخراج وحدة التحكم في ملف وترغب في إضافة نص إلى ملف بدلاً من الكتابة فوقه. معلمة Append
هي صديقك الأفضل.
من خلال استخدام معلمة Out-File -Append
يمكنك أن ترى أدناه، لاحظ أنه إذا لم تستخدمها فإن C:\File.txt سيتم كتابتها فوقًا. ولكن، بمجرد إضافة معلمة Append
، فإنه يضيف الإخراج إلى النهاية.
تغيير الإخراج
بشكل افتراضي، ستحاول هذه الأداة النصية تكرار ما هو معروض على وحدة التحكم ولكن هناك بعض الطرق للتلاعب به. على سبيل المثال، يحتوي الأداة النصية على معلمة NoNewLine
التي تزيل ببساطة جميع أحرف السطر الجديد.
أو، يمكنك قطع النص في كل صف عند عدد حرف معين أيضًا باستخدام معلمة Width
.
الاستنتاج

في سيناريو العمل الحقيقي، تعمل هذه الأداة النصية ولكن هناك طرق أفضل لتخزين الإخراج في ملف.
هذه الأداة النصية لا توفر أي خيارات حقيقية للتلاعب بالإخراج. إنها ببساطة تحفظ الإخراج بالضبط كما هو معروض في وحدة التحكم. هذه الأداة النصية مشابهة لسجل PowerShell الذي يكتب كل شيء مباشرة إلى ملف نصي.
\Add-Content
أو Set-Content
دائمًا مزيد من المرونة ولكن إذا كنت بحاجة إلى طريقة سريعة للحصول على إخراج PowerShell إلى ملف، فإن Out-File
هو الطريقة المناسبة.
ذات الصلة: Set-Content: الطريقة في PowerShell للكتابة إلى ملف