عندما تحتاج إلى إنشاء ملفات ومجلدات على جهاز كمبيوتر يعمل بنظام التشغيل Windows، يبدو الاستخدام التفاعلي لواجهة المستخدم الرسومية هو الطريقة الأكثر بديهية للقيام بذلك. ومع ذلك، يمكن لـ PowerShell إنشاء ملفات ومجلدات متعددة بشكل ذكي بالجملة. وهذه مهمة شائعة جدًا بالنسبة لأي محترف تكنولوجيا المعلومات، وفي هذا الدليل، سنريك كيفية إنشاء ملفاتك ومجلداتك باستخدام الأمر New-Item في PowerShell.
كيفية إنشاء ملف في PowerShell
عندما تفهم كيفية استخدام PowerShell، سرعة إمكانيتك في إنشاء الأشياء تجعل المهام الروتينية أسهل بكثير. دعنا نتعمق ونلقي نظرة على كيفية إنشاء ملفات ومجلدات باستخدام أوامر New-Item، Add-Content، وTest-Path.
كيفية إنشاء ملف باستخدام أمر New-Item
يمكن إنشاء ملف جديد بواسطة PowerShell باستخدام أمر New-Item. إذا أردت إنشاء ملف نصي جديد بالاسم MyTextFile.txt، فسيكون الصيغة التالية:
New-Item MyTextFile.txt

في المثال أعلاه، أنشأ PowerShell ملفًا في مجلد c:. ومع ذلك، يمكنني تحديد موقع مختلف عن طريق إضافة المسار إلى اسم الملف. إليك مثالًا أدناه:
New-Item c:\tools\MyNewFile.txt

لاحظ أنني في الشاشة أعلاه كنت في مجلد temp، لكنني أنشأت الملف في مجلد tools. بمجرد أن تصبح على دراية بإنشاء ملف جديد، إنه خط إضافي فقط من الكود لبدء إنشاء الملفات بشكل جماعي.
إليك مثال على كيفية استخدام حلقة ForEach البسيطة لإنشاء 10 ملفات، كلها بنفس اسم الملف.
(1..10) | ForEach-Object {New-item “MyNewFile$_.txt”}

إذا لزم الأمر، يمكنك أيضًا استخدام cmdlet Get-ChildItem لعرض جميع الملفات في ذلك المجلد.
إنشاء ملف بعد التحقق من عدم وجوده بالفعل
يمكنك أيضًا استخدام PowerShell لاختبار ما إذا كانت الملفات موجودة بالفعل قبل محاولة إنشائها. هناك عدة طرق لاختبار ما إذا كانت الملفات موجودة بالفعل باستخدام PowerShell، ولكن أسهلها هو استخدام cmdlet Test-Path.
كما يوحي الاسم، يمكن لأمر Test-Path التحقق مما إذا كان المسار موجودًا. يمكنك التحقق من ملفات و/أو مسارات المجلد. يُرجع الأمر True إذا كان الملف أو المجلد موجودًا، وFalse إذا كان غير موجود.
في المثال أدناه، أقوم بالتحقق مما إذا كان الملف المسمى MyTextFile.txt موجودًا. ونظرًا لوجود الملف، أرجعت أمر Test-Path True:
Test-Path MyTextFile.txt

بمجرد تعلمك لمنطق اختبار ما إذا كان الملف موجودًا، يمكنك استخدام أمر Test-Path مع If statement لإنشاء ملف عندما يعود Test-Path بقيمة خاطئة. سأريك كيفية القيام بذلك في المثال أدناه:
- هنا، أستخدم متغيّر يسمى $FileName لاسم الملف لجعل الكود أسهل قراءته وتجنب الكتابة المتكررة.
- بعد ذلك، قمت بإضافة جملة If للتحقق من وجود ملف. تحتوي الأقواس الدائرية على الشرط الذي يتم اختباره. وتحتوي الأقواس المجعّدة على الشفرة التي أريد تنفيذها إذا كان الاختبار صحيحًا. لاحظ أن عامل -not قيد الاستخدام في مثالي.
- يقول الكود أنه إذا كان الملف المسمى MyTextFile.txt غير موجود، فيجب إنشاء الملف. تُنفذ جملة If فقط إذا كان الشرط صحيحًا.
- I have added the -not parameter to change the condition to match on False instead of True.
$Filename = "MyTextFile.txt" if (-not(test-path $Filename)){new-item $FileName}

دعونا نتتبع الناتج معًا حتى نعرف بالضبط ما حدث: في المثال 1، قمت بتشغيل كودي ولم يحدث شيء؛ لاحظ عدم وجود إخراج. هذا لأنه في دليل c: الخاص بي، اسم ملف MyTextFile.txt موجود بالفعل. نظرًا لوجوده، لم تقم الجملة if بتنفيذ الكود.
في المثال 2، يمكن لكم ملاحظة أنني قمت بتغيير الدليل من دليل temp إلى دليل tools. نظرًا لعدم وجود ملف بالاسم MyTextFile.txt في الأخير، عند تنفيذ الكود مرة ثانية، يقوم البيان if بتنفيذ أمر New-Item وإنشاء ملف جديد.
كيفية كتابة البيانات في ملف جديد أو موجود
لقد نظرنا بالفعل إلى كيفية إنشاء ملفات جديدة بواسطة PowerShell. ومع ذلك، إذا نظرتم إلى لقطات الشاشة السابقة، فستلاحظون أن حجم الملفات الجديدة كلها 0 بايت. هذا لأن أمر New-Item ينشئ فعليًا ملفات فارغة.
إذا كنت ترغب في إضافة بيانات إلى ملف موجود، يمكنك استخدام الأمر Add-Content. الصيغة سهلة الفهم مثل الأمر New-item. إليكم مثالًا أدناه:
Add-Content mytextfile.txt -Value "Here's some sample text written via PowerShell"
بعد ذلك، يمكنني التحقق من ملفي باستخدام الأمر Get-Content.
get-content .\mytextfile.txt

I can also open the file in PowerShell using the Invoke-Item cmdlet.
Invoke-Item .\mytextfile.txt

كيفية استبدال ملف موجود
إذا كان يمكن استخدام PowerShell لإنشاء ملفات جديدة، فيمكن أيضًا استخدامه لاستبدال الملفات الموجودة في مجلد. سيحذرك PowerShell إذا حاولت إنشاء ملف في حال وجود ملف بنفس الاسم.
يمكنك رؤية في المثال أدناه رسالة الخطأ التي يعرضها PowerShell عندما أحاول إنشاء ملف بالاسم MyNewFile3.txt.
New-item .\MyNewFile3.txt

ومع ذلك، إذا كنت ترغب في استبدال تلك الملف، يمكنني القيام بذلك بإضافة الباراميتر -force، الذي سيقوم بالكتابة فوق أي ملف موجود بنفس الاسم.
new-item .\MyNewFile3.txt -Force

كيفية إنشاء مجلد في PowerShell
لقد تناولنا للتو الطرق المختلفة لإنشاء ملفات في PowerShell. الآن، دعنا نرى كيفية إنشاء مجلدات باستخدام أوامر New-item و md.
إنشاء مجلد باستخدام أمر New-item
إنشاء المجلدات باستخدام PowerShell مهمة سهلة أيضًا باستخدام نفس الأمر New-Item الذي استخدمناه سابقًا لإنشاء الملفات. كل ما نحتاج إليه هو تحديد معامل -ItemType.
معامل -ItemType يتحكم فيما إذا كان أمر New-Item يقوم بإنشاء ملف، دليل (مجلد)، رابط رمزي، نقطة ربط أو رابط صلب. يمكنك معرفة المزيد حول هذه الخيارات على صفحة Microsoft Docs لـ New-Item.
إنشاء مجلد جديد باستخدام PowerShell مشابه لإنشاء ملف جديد. فيما يلي مثال بالأمر التالي:
new-item TestFolder1 -ItemType Directory

أنشئ مجلد بأمر md
قد أصبح PowerShell الآن لغة عبر المنصات، وهذا يعني أنه يمكن تشغيله على نظام التشغيل Windows أو macOS أو Linux. عملية إنشاء الملفات والمجلدات في Windows، Linux، و macOS من سطر الأوامر متشابهة.
ومع ذلك، لكل نظام تشغيل أوامره الخاصة بأسماء مختلفة لأداء نفس المهام. على سبيل المثال، لإنشاء مجلد جديد بإسم NewDirectory، لكل نظام تشغيل نفس الصيغة بأسماء cmdlets مختلفة: في DOS، الصيغة هي ‘MD NewDirectory’، ولكن في Linux، هي ‘MKDIR NewDirectory’.
قامت شركة Microsoft بسرقة العديد من أسماء الـ cmdlets الشهيرة من لغات أخرى وضمتها في PowerShell. فعلى سبيل المثال MKDIR أو MD لا توجد في الواقع في PowerShell: بدلاً من ذلك، فهي أوامر مرادفة لأشقائها في PowerShell الذين يفعلون نفس الشيء.
في PowerShell، MD هو اسم مرادف لـ MKDIR. أيضاً MKDIR هو اسم مرادف لأمر New-Item. وهذا يعني إذا قمت بكتابة MD، MKDIR، أو New-Item في PowerShell، فجميع تلك الأوامر لها نفس التأثير: تنفيذ أمر New-Item.
إليك مثال سريع لتسليط الضوء على تلك الوظيفة.
md Demofile1.txt
mkdir demofile2.txt
new-item demofile 3.txt

في الأمثلة أعلاه، يمكنك رؤية أنني قمت بإنشاء ثلاثة ملفات باستخدام مرادفات مختلفة وأسماء cmdlet لـ New-Item. المرادفات تعمل جميعًا بالضبط كما لو كنت تكتب New-Item.
الاستنتاج
يتيح PowerShell العديد من الطرق لإنشاء ملفات ومجلدات. يجعل cmdlet New-Item من السهل للغاية إنشاء ملفات ومجلدات.
قامت Microsoft بتضمين اختصارات تشير إلى الأوامر من أنظمة التشغيل الشهيرة مثل DOS و Linux في PowerShell لمساعدة المسؤولين على الشعور بالراحة. يمكننا أيضًا استخدام حلقات التكرار لإنشاء ملفات ومجلدات بشكل كبير وبيانات منطقية مثل If لضمان أننا نقوم فقط بإنشاء ملفات غير موجودة بالفعل.
يمكننا أيضًا التأكد من عدم استبدال الملفات الموجودة بالفعل بواسطة الكود ما لم نرغب في استبدالها. تتيح لنا جميع هذه الخيارات بناء النصوص البرمجية لتأتيمين العملية المملة لإدارة الملفات والمجلدات.
PowerShell هي أداة متعددة الاستخدامات للغاية، والآن بعد أن تعلمت كيفية إنشاء ملفات ومجلدات باستخدامه، يمكنك الاطلاع على دليلنا السابق حول استخدام PowerShell لحذف الملفات والمجلدات.
Source:
https://petri.com/powershell-how-to-create-files-folders/