כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ

28 במאי 2021 35296 צפיות powershell לבדוק אם הקובץ קיים

ב-S Zone זה, ויקטור מלמד אותך כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ. המדריך מכסה דוגמאות מרובות לשימוש ב- PowerShell כדי לבדוק אם קיים קובץ.





כדי להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ, אתה משתמש ב- מבחן-נתיב Cmdlet. עם זאת, אתה יכול להזין את נתיב הקובץ ישירות אל מבחן-נתיב פקודה או שמור את הקובץ במשתנה. לאחר מכן השתמש במשתנה ב מבחן-נתיב .



עיין בנושאי פוסטים

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ ללא משתנה

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ ללא משתנה

סעיף זה מלמד אותך כיצד לרוץ מבחן-נתיב פקודה ללא משתנה.



אתה יכול להפעיל את Test-Path כפקודה עצמאית. יתר על כן, אתה יכול גם לשלב את הפקודה עם an אם הצהרה לבצע משימות נוספות בהתבסס על התוצאה של מבחן-נתיב פקודה.



כיצד להפעיל נתיב בדיקה ישירות ללא משתנה

תת-סעיף זה מלמד אותך כיצד להפעיל את Test-Path לבד (מבלי להשתמש בתוצאה ב-an אם הַצהָרָה).

יש לי קובץ בשם processes.txt ב-E: eports.



כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ

כדי לבדוק אם הקובץ קיים, הזן את הפקודה למטה ב-PowerShell והקש אנטר



|_+_|

כאשר לחצתי, PowerShell חזר נָכוֹן , כלומר הקובץ קיים.

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ

עם זאת, אם אני מריץ את אותה פקודה עבור קובץ שאינו קיים, PowerShell חוזר שֶׁקֶר .

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ

כיצד לשלב בדיקה-נתיב והצהרת IF ללא משתנה

כפי שציינתי קודם, לאחר שימוש ב- PowerShell Test-Path כדי לבדוק אם קיים קובץ, אתה יכול להשתמש בתוצאה ב- אם הצהרה לביצוע משימות תוספות.

בדוגמה זו אבדוק אם E: eportsprocesses.txt קיים ואם הוא קיים, אעתיק את הקובץ ל-C: eports. הנה התסריט שיעשה את העבודה.

מומלץ להפעיל פקודה זו ב PowerShell ISE |_+_|

הנה התוצאה ב- PowerShell ISE והקובץ שהועתק ב-C: eports

נעול אתחול נעול אנדרואיד לשלם - -
כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ

אני יכול להפוך את התסריט לחכם יותר על ידי הוספת שתי שורות נוספות.

|_+_|

ו….

|_+_| הפקודה הראשונה למעלה מציגה הודעה אם הקובץ מועתק. השני מציג הודעה שהקובץ אינו קיים.

הנה התסריט ששונה...

|_+_|

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ עם משתנה

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ עם משתנה

בסעיף האחרון הראיתי לך כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ ללא שימוש במשתנים. בחלק זה, אשמור את התוצאה של Test-Path במשתנה. לאחר מכן, השתמש במשתנה ב-an אם הַצהָרָה.

בדוגמה שבסעיף זה, אני רוצה לבדוק אם first-file.txt קיים בנתיב המוצג בתמונה למטה. לאחר מכן, אם הוא קיים, אני אעתיק את הקובץ ל-C:PS

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ עם משתנה

בשלבים הראשונים, אפעיל את הפקודה למטה:

|_+_|

פקודה זו זהה לקודמתה עם הבדל אחד - התוצאה של הפקודה נשמרת ב- הקובץ קיים מִשְׁתַנֶה.

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ עם משתנה

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ ולהעתיק אותו

כאשר הצגתי את הסעיף הזה, שמרתי את הפלט של מבחן-נתיב פקודה ל הקובץ קיים מִשְׁתַנֶה.

|_+_|

בתת-סעיף זה, אלמד אותך כיצד להעתיק את הקובץ אם הוא קיים. כדי לעשות זאת, אציג את אם הצהרה עם ה העתק-פריט פקודה.

|_+_|

להלן התסריט המלא עם הפקודות המשולבות:

|_+_|

והנה התסריט ב- PowerShell ISE.

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ ולמחוק אותו

בתת-סעיף האחרון, ראית כיצד לבדוק אם קיים קובץ ולהעתיק את הקובץ. מה אם אתה רוצה להעתיק את הקובץ במקום זאת?

אם ברצונך למחוק את הקובץ במקום להעתיק אותו, החלף את הקובץ העתק-פריט פקודה עם ה הסר פריט פקודה.

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

השתרשת סוכרייה על מקל xperia z1
|_+_|

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

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

כדי להשיג זאת, כל מה שאתה צריך לעשות הוא להוסיף את אַחֵר בלוק של אם הַצהָרָה.

בתת-סעיף האחרון, השתמשתי בסקריפט הזה כדי למחוק קובץ אם הוא קיים.

|_+_|

אם אני רוצה שהסקריפט ייצא אם הקובץ לא קיים, אשנה את הסקריפט כפי שמוצג להלן...

|_+_|

הנה ההיגיון של התסריט ששונה...

בדוק אם הקובץ, E: eportsfirst-file.txt קיים. אם הוא קיים, מחק את הקובץ.

עם זאת, אם הקובץ אינו קיים, הפעל את הפקודה ב- אַחֵר בלוק של אם הַצהָרָה. במקרה זה, הפקודה ב- אַחֵר לולאה היא המילה, לשבור .

לשבור אומר ל-PowerShell להפסיק לעבד את הסקריפט. אתה יכול גם להוסיף לשבור בגוש If של ההצהרה - מתחת לפקודה Remove-Item...

|_+_|

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

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

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

ממשיכים הלאה, כדי לבדוק אם קיים קובץ, אתה משתמש ב- מבחן-נתיב פקודה. עם זאת, כדי לבדוק אם הקובץ ריק, עליך להציג פקודה נוספת, Get-ChildItem .

בתרחיש זה, אתה יכול להשתמש ב- Get-ChildItem פקודה בשתי דרכים.

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

בסעיף זה אתן דוגמה הבודקת אם קיים קובץ מסוים והוא ריק. אכסה את האפשרות השנייה ב- כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ או תיקיה סעיף בהמשך מדריך זה.

בדוגמה זו, אני רוצה לבדוק אם הקובץ, first-file.txt ואם הוא ריק.

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

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

|_+_|

הנה התוצאה של הפקודה. מהתוצאה של הפקודה, אתה יכול לראות שלקובץ יש מאפיין שנקרא אורך .

למעשה, ה אורך מאפיין של קובץ מציג את גודל הקובץ. יתר על כן, אם קובץ ריק, ה- אורך יהיה אפס (0).

לכן, כדי להשתמש ב- PowerShell כדי לבדוק אם הוא לא ריק, נבדוק אם אורך אינו אפס (0).

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

|_+_|

הנה התוצאה של הפקודה ב- PowerShell. במקרה זה, מכיוון שגודל הקובץ שלי הוא 0 (ריק), הפקודה הוחזרה שֶׁקֶר .

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

זה אומר שהקובץ הזה ריק.

אבל איך נכלול את הביט שבודק אם הקובץ קיים? שמחה ששאלת!

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

הנה התסריט ששונה שלי...

|_+_|

בגרסה ששונתה זו של התסריט, ביצעתי את השינויים הבאים...

  1. בשורה 2, שמרתי את Get-ChildItem פקודה שבודקת אם קובץ ריק - במשתנה שנקרא $checkiffileריק .
|_+_|
  1. לאחר מכן, בשורה 3 הוספתי תנאי נוסף ל- אם הַצהָרָה. חלק המצב של אם ההצהרה עודכנה ל- If (($fileexists -eq $True) -ו-($checkiffileisempty -eq $False)).

    מצב זה בודק אם מה נשמר בו קיים $file הוא נָכוֹן (הקובץ קיים). יתר על כן, הוא בודק אם מה נשמר ב $checkiffileisempt הוא שֶׁקֶר (הקובץ ריק).

    למעשה, PowerShell בודק אם ה מבחן-נתיב הפקודה שבדקה אם נתיב הקובץ קיים הוא נָכוֹן . בנוסף, הוא גם בודק אם ה Get-ChildItem הפקודה שבודקת אם הקובץ אינו ריק שֶׁקֶר (כלומר שהקובץ ריק)
  2. לבסוף, אם שני התנאים מתקיימים, בשורה 4, PowerShell תבצע את הפקודה בסוגריים {} של הצהרת If.

    בדוגמה זו, יש לי את הפקודה הזו בסוגריים {} של הצהרת If.
|_+_|

הפקודה מוסיפה את הטקסט ב- ערך פרמטר של סט-תוכן פקודה.

כדי לבדוק שהסקריפט עובד, העתק אותו ל-PowerShell ISE והפעל את הסקריפט...

הפעל קובץ mkv ב- ipad
כיצד להשתמש ב-PowerShell כדי לבדוק אם קובץ קיים ואינו ריק

ברגע שהרצתי את הסקריפט, הקובץ, first-file.txt - שהיה ריק בעבר - יש בו עכשיו כמה ערכים. בנוסף, גודל הקובץ אינו עוד אפס (0)!

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ בתיקייה

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ בתיקייה

עד כה מדריך זה כיסה תרחישים מרובים לשימוש ב- PowerShell כדי לבדוק אם קיים קובץ.

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

בנוסף, תלמד כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ במספר תיקיות. לבסוף, אני אראה לך כיצד להשתמש בתו כללי כדי לבדוק אם קיים קובץ.

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ בתיקייה הנוכחית

בדוגמה הראשונה הזו, תלמד כיצד לבדוק אם קיים קובץ בתיקייה הנוכחית - לא כולל כל תיקיות המשנה.

בדוגמה זו, אני רוצה לבדוק אם קיימים קבצים עם סיומת הקובץ .log בתיקייה E: eports. עם זאת, אני רוצה לא לכלול את כל תיקיות המשנה.

הצעד הראשון הוא להפעיל את Get-ChildItem פקודה. לאחר מכן, צינור את הפלט אל איפה-חפץ ולסנן לפי PSIsContainer תכונה.

ה PSIsContainer מאפיין הוא מאפיין המגדיר תיקיות או ספריות. בתוך ה איפה-חפץ הפקודה, ציינתי $_.PSIsContainer -ne $true. הפקודה הזו פשוט אומרת אל תחזיר שום פריט אם הוא PSIsContainer רכוש הוא נכון. זה יחזיר רק קבצים.

הנה הפקודה…

|_+_|

והנה התוצאה ב-PowerShell...

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ בתיקייה הנוכחית

השלב האחרון הוא להחזיר את הנתיב המלא של כל הקבצים עם סיומת .log בתיקייה הנוכחית.

הנה הפקודה…

|_+_|

והתוצאה…

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

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ בתיקיות משנה

אם אתה רוצה לבדוק אם קובץ או קבצים ספציפיים קיימים בכל תיקיות המשנה, לא בתיקייה הנוכחית, עליך לבצע שינויים קלים ב- Get-ChildItem פקודה.

באופן ספציפי, כאשר אתה צינור את Get-ChildItem פקודה, לתוך איפה-חפץ , אתה מסנן איפה-חפץ כדי להחזיר רק תיקיות.

|_+_|

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

בשלב הבא, עליך להשתמש לכל אחד הצהרה לחזור על כל התיקיות שהוחזרו על ידי הפקודה האחרונה. ואז, בתוך ה לכל אחד הצהרה, הפעל אחר Get-ChildItem פקודה כנגד כל תיקיית משנה.

ישנן שלוש גרסאות של לכל אחד אבל, בדוגמה זו, אשתמש ב- לכל אחד -Object Cmdlet.

|_+_|

הפקודה מציגה את כל קבצי היומן בתיקיות המשנה...

כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ בתיקיות משנה

כיצד להשתמש ב-PowerShell כדי לבדוק אם קיים קובץ תיקיה נוכחית וכל תיקיות המשנה

ב-2 תת-הסעיפים האחרונים, השתמשתי ב- PSIsContainer מאפיין לסנן תיקיות משנה, או להחזיר רק תיקיות משנה. בדוגמה זו, אבטל את ה PSIsContainer תכונה.

עם זאת, אציג את א Get-ChildItem פרמטר פקודה, נקרא חזרה . ה חזרה כוחות פרמטרים Get-ChildItem כדי לבדוק את התיקיה שצוינה ואת כל תיקיות המשנה שלה.

דפדפן אינטרנט עבור מגן nvidia

הנה סקריפט שונה.

|_+_|

ה חזרה פרמטר מוצג בראשון Get-ChildItem פקודה. זה לא נדרש בשני Get-ChildItem פקודה (בתוך ForEach-Object לַחסוֹם).

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

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

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

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

עם זאת, עליך להציג פקודה חדשה בשם Invoke-Command . ואז, בתוך ה Invoke-Command פקודה, השתמש בה ScriptBlock פרמטר כדי לציין אחת מהפקודות שדיברנו עליהן קודם לכן במדריך זה.

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

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

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

לעיונך, הנה התחביר הכללי של ה Invoke-Command פקודה.

|_+_|

לקריאה נוספת על Invoke-Command פקודה, ראה הפניות וקריאה נוספת בסוף מדריך זה.

אם מקווה הצלחתי ללמד אותך כיצד להשתמש ב- PowerShell כדי לבדוק אם קיים קובץ!

אני גם מקווה שמצאת את S Zone מועיל. אם מצאתם את זה מועיל, אנא הצביעו כן לשאלה האם הפוסט הזה היה מועיל למטה.

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

לבסוף, לעוד דוא'ל טק אזורי S, בקר בדף ההדרכה של Windows PowerShell. ייתכן גם שתמצא את דף העבודה מהבית שלנו מועיל מאוד.

הפניות וקריאה נוספת

  1. Invoke-Command
  2. Powershell אם מוסבר אחרת: תחביר ודוגמאות
  3. Get-ChildItem
  4. מבחן-נתיב