כשאתה צריך ליצור קבצים ותיקיות במחשב עם Windows, להשתמש בGUI נראה הדרך הכי אינטואיטיבית לעשות זאת. עם זאת, PowerShell יכול ליצור קבצים ותיקיות מרובים בקלות. זו משימה די נפוצה עבור כמעט כל מקצוען ה-IT, ובמדריך זה, נראה לך כיצד ליצור את הקבצים והתיקיות שלך באמצעות פקודת PowerShell New-Item.
כיצד ליצור קובץ ב-PowerShell
ברגע שאתה מבין איך להשתמש ב-PowerShell, המהירות בה אתה יכול ליצור דברים הופכת משימות משעממות להרבה יותר קלות. בואו נצלול פנימה ונבחן איך ליצור קבצים ותיקיות באמצעות New-item, Add-Content ו-Test-Path cmdlets.
כיצד ליצור קובץ עם הפקודה New-item
יצירת קובץ חדש ב-PowerShell יכולה להתבצע עם הNew-Item cmdlet. אם הייתי רוצה ליצור קובץ טקסט חדש בשם 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”}

אם נדרש, ניתן גם להשתמש בפקודת ה־Get-ChildItem כדי לרשום את כל הקבצים באותה התיקייה.
יצירת קובץ לאחר בדיקה שהוא עדיין לא קיים
ניתן גם להשתמש ב־PowerShell כדי לבדוק אם קבצים כבר קיימים לפני שננסה ליצור אותם. ישנם מספר דרכים לבדוק אם קבצים כבר קיימים באמצעות PowerShell, אך הדרך הפשוטה ביותר היא להשתמש בפקודת ה־Test-Path.
כפי שמשמע מהשם, ה־cmdlet Test-Path יכול לבדוק אם נתיב קיים. ניתן לבדוק עבור קבצים ו/או נתיבי תיקיות. ה־cmdlet מחזיר True אם הקובץ או התיקייה קיימים, ו־False אם אין.
בדוגמה המופיעה למטה, אני בודק אם הקובץ בשם MyTextFile.txt קיים. מאחר והקובץ קיים, ה־cmdlet Test-Path החזיר True:
Test-Path MyTextFile.txt

כאשר אתה לומד את הלוגיקה לבדיקה אם קובץ קיים, ניתן להשתמש בפקודת Test-Path עם If statement כדי ליצור קובץ כאשר Test-Path מחזיר false. אראה לך כיצד לעשות זאת בדוגמה שלמטה:
- כאן, אני משתמש במשתנה בשם $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, עם זאת, ניתן להבחין ששיניתי את הספרייה מהספרייה הזמנית לספריית הכלים. מכיוון שאין קובץ בשם MyTextFile.txt באחרון, כאשר אני מבצע את הקוד בפעם השנייה, הוראה if מבצעת את cmdlet New-Item ויוצרת קובץ חדש.
כיצד לכתוב נתונים לקובץ חדש או קיים
כבר בדקנו כיצד ליצור קבצים חדשים באמצעות PowerShell. עם זאת, אם תסתכל על התמונות מהמסך הקודמות, תשים לב שגודל הקובץ של כל הקבצים החדשים הוא 0 בתים. זה בגלל ש- cmdlet New-Item יוצר למעשה קבצים ריקים.
אם ברצונך להוסיף נתונים לקובץ קיים, באפשרותך להשתמש ב- cmdlet Add-Content. התחביר קל לתפיסה, בדיוק כמו הפקודה New-item. הנה דוגמה למטה:
Add-Content mytextfile.txt -Value "Here's some sample text written via PowerShell"
לאחר מכן, אני יכול לבדוק את הקובץ שלי באמצעות cmdlet 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, לכל מערכת ההפעלה יש תחביר דומה עם שמות פקודות שונים: ב-DOS, התחביר הוא 'MD NewDirectory', אך ב-Linux, זה 'MKDIR NewDirectory'.
חברת מיקרוסופט לקחה שמות של הפקודות הפופולריות משפות תכנות אחרות וכללה אותם ב-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

בדוגמאות לעיל, ניתן לראות שיצרתי שלושה קבצים בעזרת הכינויים ושמות הפקודות השונים ל-New-Item. הכינויים עובדים באופן זהה לקלידת New-Item.
מסקנה
PowerShell מאפשר דרכים רבות ליצירת קבצים ותיקיות. פקודת ה-New-Item עושה את זה לקל ולפשוט.
Microsoft כללה קיצוצים (aliases) המפנים לפקודות ממערכות ההפעלה הפופולריות כמו DOS ו-Linux ב-PowerShell כדי לעזור למנהלי מערכות להרגיש כמו בבית. ניתן גם להשתמש בלולאות כדי ליצור קבצים ותיקיות בהיקף גדול ובהצהרות לוגיקה כמו If כדי לוודא שמייצרים רק קבצים שעדיין לא קיימים.
ניתן גם לוודא שקבצים שכבר קיימים לא יוחלפו על ידי הקוד אלא אם רק רוצים שיתבצע החלפה. כל אלו ממשקים מאפשרים לנו לבנות סקריפטים כדי לאוטומטז את התהליך המופשט של ניהול קבצים ותיקיות.
PowerShell היא כלי מאוד רב-תכליתי, ועכשיו שיש לך את הידע על איך ליצור קבצים ותיקיות באמצעותו, תוכל לבדוק את מדריך הקודם שלנו על שימוש ב-PowerShell למחיקת קבצים ותיקיות.
Source:
https://petri.com/powershell-how-to-create-files-folders/