بوست الكراهية العظيم

منذ وقت طويل كتبت نصًا بسيطًا يحذف جميع الدلائل الفرعية ذات الأسماء المحددة في دليل محدد:

Remove-Item * -Force -Recurse -Include name1,name2,name3 -ErrorAction SilentlyContinue

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

"WTF؟"، على ما أعتقد. بدأت الحفر. لقد عبثت وعبثت، وتصفحت كل شيء، وأنشأت قائمة مسبقًا، وغيرت الأسماء - ولم يتم حذف أي شيء حتى الآن. وأخيرا، قرأت في وثيقتهم: "في الواقع، يعد -Include خطأ عند استخدامه مع -Recurse، لذا استخدم بنية العكاز.":

نظرًا لوجود مشكلة معروفة في معلمة Recurse في Remove-Item، يستخدم الأمر في هذا المثال Get-ChildItem للحصول على الملفات المطلوبة، ثم يستخدم عامل تشغيل خط الأنابيب لتمريرها إلى Remove-Item.

حسنًا، حسنًا، لقد أعدت كتابتها باستخدام هذا العكاز. صفقة جحيم - إنها لا تحذف أي شيء. علاوة على ذلك، الحصول على لChildItem с -يشمل يعود الفراغ. مرة أخرى، بغض النظر عما فعلته، بغض النظر عن كيفية تشويه المعلمات، لم ينجح الأمر. الشيء الرئيسي هو مع -استبعاد يعمل، ولكن مع -يشمل مستحيل. قضيت يومًا كاملاً في هذا الأمر: كنت أفكر دائمًا في أنني أخطأت في مكان ما في المعلمات، وأنني لم أضع في الاعتبار بعض الفروق الدقيقة الصعبة. وماذا حدث في النهاية؟ لقد قمت بتثبيتها على PS7.1 وعملت. حتى أنه يحتوي على الخيار الأول بدون عكاز باستخدام فقط إزالة بند حصل. بشكل عام، اتضح أن يكون خطأهم.

ولكن بعد أن عانيت مع Mighty Shell، ذهبت إلى Google لأقرأ لماذا تحتوي صدفتهم على مثل هذه البنية المذهلة. اللعنة، لقد وضعوه على أنه .NET لوحدة التحكم، لكنهم لا يشمون حتى بنية C#. بدلا منه…

على أية حال، وجدت هذا المقال: "ما أكرهه في PowerShell". كما يقولون: "لم أستطع أن أتفق أكثر."

أظن أن فريق Mighty Shell عبارة عن مجموعة من معجبي Bash.

- لنقم أخيرًا بإنشاء وحدة تحكم لنظام التشغيل Windows يمكنك من خلالها كتابة نصوص برمجية معقدة. خلاف ذلك، فإن cmd الخاص بنا قد عفا عليه الزمن، لدرجة أننا نشعر بالخجل قليلاً بالفعل.
- دعونا! وعلى أساس ماذا سنفعل؟ لدينا بالفعل VBScript، JScript. وأخيرا، لدينا لغات لـ .NET: C#، VB. ربما يمكننا أن نفعل ذلك في C#؟ أعني أننا سنستخدم لغة C# كلغة برمجة نصية لوحدة التحكم الخاصة بنا. علاوة على ذلك، نريد إضافة فئات .NET هناك.
- لا، ماذا تفعل يا صاح، ما هي لغة C#؟ المهوسون الحقيقيون يستخدمون باش! لذلك دعونا نجعل باش لنظام التشغيل Windows. لا يهمني أن بناء جملة bash قد كتبه على ما يبدو حشد من محبو موسيقى الجاز في الستينيات. بشكل عام، كلما كان الأمر أكثر تعقيدا كلما كان ذلك أفضل! الحدس للضعفاء! عند كتابة نص بلغتنا، يجب على المستخدم أن يلعن كل شيء في العالم ويخترع بضع كلمات لعنة جديدة. فقط مثل هذه اللغة لها الحق في الحياة. انظر، يعيش الأشخاص الذين يعملون بنظام Linux طوال حياتهم بهذه الطريقة ويحصلون على تشويق لا يمكن تفسيره من كل ذلك. لماذا نحن أسوأ؟

يمكن للمستخدمين المسجلين فقط المشاركة في الاستطلاع. تسجيل الدخول، من فضلك.

هل تستخدم PowerShell وهل أنت مرتاح لاستخدامه؟

  • 30,3%أنا لا أستخدم 40

  • 29,6%لقد جربته ولم يعجبني39

  • 23,5%أستخدمه وأنا سعيد بكل شيء31

  • 12,9%أستخدمه، لكني لست سعيدًا17

  • 3,8%مرحا! أخيرًا يمكنني استخدام bash المفضل لدي على Windows!5

صوّت 132 مستخدمًا. امتنع 26 مستخدما عن التصويت.

المصدر: www.habr.com

إضافة تعليق