PowerShell צור תיקייה אם לא קיימת

Powershell Zwr Tyqyyh M L Qyymt



האם יש לך חבורה של תיקיות ואתה רוצה ליצור אחת חדשה, אבל לא יודע אם התיקיה הזו כבר קיימת או לא? תהליך זה יכול לקחת הרבה זמן כי ראשית, תחפש את התיקיה הזו, בין אם היא קיימת או לא, ולאחר מכן תיצור אותה אם היא לא קיימת.

באופן מפתיע, PowerShell יכול לחסוך לך הרבה זמן ומאמץ אם אתה יודע קצת סקריפטים.







תחזיק מעמד! אתה לא צריך ללמוד את כל עניין התסריט בשביל המשימה הזו. כי סיפקתי חמש שיטות ליצירת תיקיה אם לא קיימת עם הסבר נכון של כל פקודה המשמשת בה.



מתאר מהיר:



לפני שנעבור לעבר סקריפטים בואו ללמוד כיצד לבדוק אם תיקיה קיימת או לא ולאחר מכן לשיטה ליצור תיקיה ב- PowerShell.





בדוק אם התיקיה כבר קיימת ב- PowerShell

ה מבחן-נתיב הפקודה משמשת כדי לבדוק אם התיקיה כבר קיימת ב- PowerShell. כדי לבדוק אם התיקיה קיימת, נתיב התיקיה מצוין לפקודה Test-Path, באמצעות ה- -נָתִיב פָּרָמֶטֶר. בתמורה, הפקודה Test-Path חוזרת נָכוֹן ערך אם הוא קיים, ו שֶׁקֶר אם זה לא קיים.

לדוגמה, בואו נבדוק אם התיקיה שצוינה קיימת או לא באמצעות מבחן-נתיב פקודה:



מבחן-נתיב -נָתִיב 'C:\Document'

כדי לבדוק את קיומה של התיקיה, ראשית, ציין את מבחן-נתיב הפקודה וספק את נתיב התיקיה באמצעות ה- -נָתִיב פָּרָמֶטֶר:

הפלט הוא שֶׁקֶר כי התיקיה שצוינה לא קיימת.

צור תיקיה חדשה ב- PowerShell

ה פריט חדש הפקודה יוצרת תיקיה חדשה ב- PowerShell. כדי ליצור ספרייה, ספק את נתיב הספרייה לפקודה New-Item באמצעות ה- -נָתִיב פָּרָמֶטֶר. והכי חשוב, השתמש ב- -סוג פריט פרמטר כדי ליצור תיקיה ולציין את מַדרִיך ערך. אם לא תציין את הפרמטר -ItemType ואת הערך Directory, הפקודה New-Item תיצור קובץ במקום תיקיה.

לדוגמה, בואו ניצור תיקיה חדשה באמצעות ה פריט חדש פקודה ב- PowerShell:

פריט חדש -נָתִיב 'C:\Document' -סוג פריט מַדרִיך

כדי ליצור תיקיה חדשה:

  • ראשית, השתמש ב- פריט חדש הפקודה וציין את נתיב התיקיה שתיווצר ל- -נָתִיב פָּרָמֶטֶר.
  • לאחר מכן, ציין את מַדרִיך ערך ל -סוג פריט פרמטר כדי לומר לקונסולה ליצור תיקיה במקום קובץ:

התיקיה החדשה נוצרה וזמן היצירה שלה נראה גם בפלט לעיל.

צור תיקיה אם לא קיימת ב- PowerShell

מהשאילתה, ניתן לראות שזה הולך להיות an אחרת תרחיש, האומר שאם התיקיה לא קיימת אז צור תיקיה חדשה. ישנן חמש שיטות ליצירת תיקיה אם לא קיימת ב- PowerShell, וכל שיטה כוללת את תרחיש התנאי if-else.

פתרון מהיר

להלן הפתרון המהיר ליצירת תיקיה אם אינה קיימת במסוף PowerShell:

אם ( -לֹא ( מבחן-נתיב -נָתִיב 'C:\NewFolder' ) ) { פריט חדש -נָתִיב 'C:\NewFolder' -סוג פריט מַדרִיך }

הספרייה שצוינה לא קיימת ולכן היא נוצרת.

1. צור תיקייה אם לא קיימת ב-PowerShell באמצעות Test-Path

ה מבחן-נתיב הפקודה בודקת את קיומה של התיקיה ואומרת למסוף אם היא קיימת או לא. הפקודה Test-Path ו-New-Item יחד עם ה- אחרת condition עוזר ליצור תיקיה אם היא לא קיימת ב- PowerShell.

לדוגמה, בואו נסתכל על הקוד הזה כדי ליצור תיקיה אם לא קיימת באמצעות הפקודה Test-Path:

אם ( מבחן-נתיב -נָתִיב 'C:\NewFolder' ) {

כתיבה-מארחת 'התיקייה המצוינת כבר קיימת'
}
אַחֵר
{
פריט חדש -נָתִיב 'C:\NewFolder' -סוג פריט מַדרִיך
}

כדי ליצור תיקיה באמצעות ה מבחן-נתיב ו פריט חדש פקודה:

  • ראשית, יצרנו א אם מצב, שבו השתמשנו ב- מבחן-נתיב הפקודה וציינו את התיקיה באמצעות ה- -נָתִיב כדי לבדוק את קיומם של תיקיות.
  • אם התיקיה שצוינה קיימת, ההודעה תוצג באמצעות ה- כתיבה-מארחת פקודה המציינת שהתיקיה כבר קיימת, והסקריפט יסתיים כאן.
  • אחרת התוכנית תעבור לחלק הבא.
  • במצב אחר, השתמשנו ב- פריט חדש הפקודה וציינו את נתיב התיקייה שתיווצר.
  • כדי להסביר בצורה ברורה יותר את הקונסולה שיוצרת תיקיה, השתמשנו ב- -סוג פריט נכס וציין את הערך מַדרִיך :

תְפוּקָה: התיקיה לא קיימת ומכאן נוצרת תיקייה חדשה בספרייה שצוינה.

2. צור תיקייה אם לא קיימת ב-PowerShell באמצעות Get-Item

ה Get-Item הפקודה מקבלת את הקובץ או התיקיה מהמיקום שצוין. הפקודה Get-Item יכולה גם לבדוק את קיומה של התיקיה באמצעות התנאי if.

כך תוכל ליצור תיקיה אם לא קיימת ב- PowerShell באמצעות הפקודה Get-Item:

אם ( Get-Item -נָתִיב 'C:\Document' -ErrorAction להתעלם ) {
כתיבה-מארחת 'קובץ כבר קיים'
}
אַחֵר {
פריט חדש -מִלוּלִי 'C:\Document' -סוג פריט מַדרִיך
}

כדי ליצור תיקיה אם היא לא קיימת, השתמש ב- Get-Item פקודה:

  • ראשית, צור א אם מצב, היכן להשתמש ב Get-Item הפקודה וציין את נתיב התיקיה באמצעות ה- -נָתִיב פרמטר כדי לבדוק אם הוא כבר קיים או לא.
  • כמו כן, השתמש ב- -ErrorAction פרמטר וציין את להתעלם ערך כדי להתעלם משגיאות שעלולות להתרחש במהלך ביצוע הקוד.
  • אם התיקיה כבר קיימת, המסוף יציג את ההודעה האומרת שהתיקיה כבר קיימת באמצעות כתיבה-מארחת פקודה.
  • אם התיקיה לא קיימת התוכנה תעבור למצב אחר שבו התיקיה החדשה תיווצר.
  • במצב אחר, השתמש ב- פריט חדש הפקודה, ציין את נתיב התיקייה שתיווצר והשתמש ב- -סוג פריט פרמטר בעל הערך מַדרִיך שצוין לו.
  • לצדו, ציין את -מִלוּלִי פרמטר כדי לקבל פלט מפורט יותר:

צילום המסך מאשר שהתיקיה שצוינה לא קיימת ומכאן נוצרה תיקייה חדשה.

3. צור תיקייה אם לא קיימת ב-PowerShell באמצעות Get-ChildItem

ה Get-ChildItem הפקודה מקבלת את הקבצים או התיקיות מהספרייה הנתונה. ניתן להשתמש בו עם הפקודה New-Item ותנאי If-else כדי ליצור תיקיה אם לא קיימת ב- PowerShell.

הנה הקוד לדוגמה ליצירת תיקיה אם לא קיימת בעזרת הפקודה Get-ChildItem:

אם ( Get-ChildItem -נָתִיב 'C:\Document' -ErrorAction להתעלם )
{
כתיבה-מארחת 'התיקייה כבר קיימת'
}
אַחֵר
{
פריט חדש 'C:\Document' -סוג פריט מַדרִיך
}

הערה: הסבר הקוד עבור קטע הקוד שלמעלה זהה לזה של ה- Get-Item הפקודה פרט ל- Get-ChildItem פקודה:

התיקיה שצוינה לא קיימת ומכאן נוצרה תיקייה חדשה.

4. צור תיקיה אם לא קיימת ב-PowerShell באמצעות Test-Path ו-Mkdir

ה mkdir הפקודה יוצרת תיקיה ב- PowerShell. יש לזה כינוי md , שגם מתפקדת כמו שהפקודה Mkdir עושה. פקודה זו יכולה גם ליצור תיקיה אם לא קיימת עם השילוב של הפקודה Test-Path ותנאי if-else.

הנה הדוגמה ליצירת תיקיה אם לא קיימת ב- PowerShell באמצעות md ופקודה Test-Path:

אם ( מבחן-נתיב -נָתִיב 'C:\Folder' ) {

כתיבה-מארחת 'התיקייה כבר קיימת'
}
אַחֵר
{
md 'C:\Folder'
}

כדי ליצור תיקיה אם היא לא קיימת:

  • ראשית, צור את אם מצב וציין את מבחן-נתיב הפקודה יחד עם התיקיה כדי לבדוק אם היא קיימת או לא.
  • אם התיקיה קיימת, סיים את הקוד כאן והדפיס את התיקיה שכבר קיימת.
  • אחרת, צור תיקיה באמצעות ה md הפקודה על ידי ציון שם התיקיה והנתיב:

הפלט מראה שהתיקיה לא קיימת ומכאן נוצרה תיקייה חדשה.

5. צור תיקייה אם לא קיימת ב-PowerShell באמצעות [System.IO.File]::Exists()

ה [System.IO.File]::Exists() הפקודה בודקת אם התיקיה שצוינה קיימת או לא. זה יכול ליצור את התיקיה ב- PowerShell אם לא קיימת עם השילוב של התנאי if-else והפקודה New-Item.

כך תוכל ליצור תיקיה אם לא קיימת ב-PowerShell באמצעות הפקודה [System.IO.File]::Exists():

אם ( [ ספריית מערכת.IO ] :: קיים ( 'C:\Docs' ) )
{
כתיבה-מארחת 'התיקייה כבר קיימת'
}
אַחֵר
{
פריט חדש 'C:\Docs' -סוג פריט מַדרִיך
}

בקוד למעלה:

  • ראשית, צור א אם מצב וציין את [System.IO.Directory]::Exists(Folder-Path) פקודה בתוכו כדי לבדוק אם התיקיה הזו קיימת או לא.
  • אם הספרייה נמצאה, המסוף ידפיס שהתיקיה קיימת.
  • אחרת, היא תיצור את התיקיה הזו באמצעות ה פריט חדש פקודה:

התיקיה שצוינה לא קיימת ואז נוצרת תיקיה חדשה באמצעות הפקודה New-Item.

טיפ בונוס: צור תיקיה אם היא כבר קיימת ב- PowerShell

ה -כּוֹחַ פרמטר עם ה פריט חדש הפקודה משמשת כדי להחליף תיקיה קיימת ב- PowerShell. הפרמטר -Force מחליף פריט קיים בנתיב שצוין ב- PowerShell. כדי ליצור תיקיה אם היא כבר קיימת, פשוט הוסף את הפרמטר -Force יחד עם הפקודה New-Item.

כך תוכל להחליף תיקיה קיימת:

פריט חדש -נָתִיב 'C:\Document' -סוג פריט מַדרִיך -כּוֹחַ

כדי ליצור תיקיה אם היא כבר קיימת ב-PowerShell:

  • ראשית, השתמש בפקודה New-Item וציין את התיקיה שתיווצר באמצעות הפרמטר -path.
  • לאחר מכן, השתמש בפרמטר -ItemType וציין את הערך כדי לומר למסוף ליצור תיקיה.
  • לבסוף, כדי להחליף תיקיה קיימת השתמש בפרמטר -Force:

התיקיה הוחלפה בהצלחה בנתיב שצוין.

סיכום

כדי ליצור תיקיה אם לא קיימת, ראשית, בדוק את קיומה של התיקיה באמצעות מבחן-נתיב פקודה. לאחר מכן, השתמש ב- פריט חדש פקודה ליצירת תיקיה, אם היא לא קיימת. כדי לבצע פעולה זו במכה אחת, עליך להשתמש ב- אחרת מצב יחד עם הפקודה Test-Path ופקודת New-Item, שכבר הדגמתי בשיטה 1 במאמר זה.