פרסומת

אם אתה עושה הרבה עבודה בקבצי אצווה של Windows, הצהרת IF מציע דרך עוצמתית מאוד להוסיף גמישות לתסריטים שלך.

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

אם אתה מוכן להתחיל לתסריט, בואו נתחיל!

1. השווה ערכים

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

לדוגמה, נניח שרצית לכתוב סקריפט אצווה הבודק את גודל הכונן הקשיח של המחשב מדי יום. אם זה מתחת ל -3 ג'יגה-בתים, תרצה לקבל דוח דוא"ל שאומר "שטח הכונן הקשיח נמוך מדי."

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

@echo כבוי. הגדר DriveLimit = 300000000. עבור / f "usebackq delims == סמלים = 2" %% x פנימה (`wmic logicaldisk שבו 'DeviceID =' C: '" קבל FreeSpace / format: value ") הגדר FreeSpace = %% x. Echo FreeSpace = "% FreeSpace%" הגבלת הד = "% DriveLimit%" אם% FreeSpace% GTR% DriveLimit% (הד יש מספיק מקום פנוי. ) אחר (הד לא מספיק מקום פנוי. )
instagram viewer

WMIC הוא רכיב כלי הניהול של Windows ב- Windows שמגיע עם מגוון פקודות בהן תוכלו להשתמש כדי למשוך מידע ממחשב. כך פקודה "wmic" בסקריפט זה מכנה את המרחב "logicaldisk" ומכניסה אותו למשתנה FreeSpace. עכשיו אתה יכול פשוט להחליף את השורה "הד לא מספיק מקום פנוי" בפקודה דוא"ל blat שתשלח לך התראה.

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

אם מעולם לא השתמשת בכתף ​​קודם, יש לנו מאמר שמראה לך כיצד להגדיר כתמים. לא מכיר את הגדרת העבודות המתוזמנות? סקרנו אתכם במאמר בנושא כיצד להגדיר משימות מתוזמנות של Windows - - 4 משימות משעממות שתוכלו לבצע אוטומציה באמצעות מתזמן המשימות של חלונותהזמן שלך יקר מדי מכדי שתבזבז משימות חוזרות. בואו נראה לך כיצד לבצע אוטומציה ולתזמן משימות. יש לנו גם כמה דוגמאות נהדרות. קרא עוד .

2. השוואות מיתרים

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

בדוגמה הבאה תראה כיצד לבדוק את גרסת Windows שלך באמצעות עבודת אצווה. אז אתה יכול להשוות זאת לגירסת Windows הצפויה שלך.

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

כך נראה התסריט הזה.

@echo כבוי. עבור / f "אסימונים = 4-5 delims =. "%% i ב ('ver') כן מגדירים VERSION = %% i. %% j. אם "% version%" == "6.0" מהדהד את Windows Vista. אם "% version%" == "6.1" מהדהד את Windows 7. אם "% version%" == "6.2" מהדהד את Windows 8. אם "% version%" == "6.3" מהדהד את Windows 8.1. אם "% version%" == "10.0" מהדהד את Windows 10. 

כך נראה הפלט של סקריפט זה.

קובץ אצווה, חלונות, תכנות

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

3. בדוק אם קיים קובץ

מצב שימושי נוסף בו אמירה הצהרת IF בקובץ אצווה בדוק אם קיים קובץ נתונים.

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

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

(כתבנו בעבר כיצד לעשות זאת השתמש בסקריפטים של Windows לעיבוד נתונים לקובץ Excel 5 סקריפטים VB של Windows שימושיים לאוטומציה של השימוש במחשב שלךמניטור אתרים לדוחות מערכת, למד כיצד להפוך את כל הדברים לאוטומטיים בעזרת סקריפטים VB מדהימים אלה שתוכלו לקוד ב- Windows ברגע זה. קרא עוד ; קריאת רקע טובה.)

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

@echo כבוי. אם קיימים c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) אחר (קובץ rem אינו קיים. )

ההשוואה IF EXISTS מועילה להרבה דברים.

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

4. בדוק אם פקודה נכשלה

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

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

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

אתה יכול לעשות זאת על ידי שימוש במשתנה% errorlevel% שרוב היישומים והפקודות מחזירים לאחר הפעלתם.

כל שעליכם לעשות הוא לבצע את הפקודה על ידי הפקודה IF% ERRORLEVEL%. אם היישום או הפקודה החזירו אפס, הכל בסדר. אם לא, עליך לשלוח לעצמך דוא"ל.

@echo כבוי. xcopy C: \ somefolder E: \ תיקיית גיבוי. אם% שגיאה% NEQ 0 

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

אם אתה מעדיף להשתמש בהצהרת IF כדי לבדוק אם יש קודי שגיאה ספציפיים, Windows מציע יפה רשימה רחבה של קודי שגיאה.

5. בדוק אם חסרים פרמטרים

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

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

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

כך נראה.

@echo כבוי. אם [% 1] == [] ( הודעה משנה של GOTO. ) ELSE ( xcopy% 1 E: \ תיקיית גיבוי. ) GOTO eof. משנה משנה. הד שכחת לציין את הנתיב שלך.: eof.

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

עבודות אצווה יכולות להיות עוצמתיות

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

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

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

לראיין תואר ראשון בהנדסת חשמל. הוא עבד 13 שנה בהנדסת אוטומציה, 5 שנים בתחום ה- IT, וכעת הוא מהנדס אפליקציות. כעורך מנהל לשעבר של MakeUseOf, הוא דיבר בכנסים ארציים להמחשת נתונים והופיע בטלוויזיה וברדיו הארציים.