כיצד לכתוב סקריפט אצווה ב- Windows

האם אתה יודע להשתמש בשורת הפקודה? אם כן, אתה יכול לכתוב קובץ אצווה. בצורה הפשוטה ביותר, קובץ אצווה (או סקריפט אצווה) הוא רשימה של כמה פקודות שמבוצעות בעת לחיצה כפולה על הקובץ. קבצי אצווה חוזרים עד DOS, אך עדיין עובדים על גרסאות מודרניות של Windows.

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

יסודות קבצי אצווה

קובץ אצווה הוא פשוט קובץ טקסט שנשמר עם סיומת הקובץ .bat. אתה יכול לכתוב כזה באמצעות Notepad או עורך טקסט מתקדם יותר כמו Notepad ++, אך לא להשתמש במעבד תמלילים כמו Microsoft Word.

בואו ניצור קובץ אצווה פשוט. ראשית, פתח את פנקס הרשימות. הקלד את השורות הבאות:

ECHO OFF ECHO Hello World PAUSE

לאחר מכן, שמור את הקובץ על ידי לחיצה על קובץ> שמור. תן לו שם כלשהו שתרצה, אך החלף את סיומת הקובץ המוגדרת כברירת מחדל .txt בסיומת .bat.

לדוגמה, ייתכן שתרצה לנקוב בשמו hello_world.bat.

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

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

כתיבת קובץ אצווה מורכב יותר

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

לדוגמא, נניח שאנחנו רוצים לכתוב קובץ אצווה שמריץ מספר פקודות אבחון ברשת. אולי נרצה לרוץ ipconfig /allכדי להציג את פרטי הרשת, ping google.comלראות אם השרתים של גוגל מגיבים, tracert google.comולהריץ מסלול ל- google.com ולראות אם יש בעיות בדרך.

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

ipconfig / all ping google.com tracert google.com PAUSE

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

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

ייתכן שתרצה להוסיף את הפקודה "ECHO OFF" לתחילת הקובץ. זה בדרך כלל מתווסף לתחילת רוב קבצי האצווה. כשתעשה זאת, הפקודות עצמן לא יודפסו בשורת הפקודה, אך התוצאות יהיו. לדוגמה, תראה את פרטי חיבור הרשת אך לא את השורה "ipconfig / all". לרוב האנשים לא אכפת לראות את הפקודות, כך שזה יכול לנקות את הפלט.

אז הנה איך זה יכול להיראות:

:: קובץ אצווה זה בודק בעיות חיבור רשת. ECHO OFF :: צפה בפרטי חיבור הרשת ipconfig / all :: בדוק אם ניתן להגיע ל- Google.com ping google.com :: הפעל נתיב כדי לבדוק את המסלול ל- Google.com tracert google.com PAUSE

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

:: קובץ אצווה זה בודק בעיות חיבור רשת :: ושומר את הפלט לקובץ .txt. ECHO OFF :: צפה בפרטי חיבור הרשת ipconfig / הכל >> results.txt :: בדוק אם ניתן להשיג ב- Google.com ping google.com >> results.txt :: הפעל מסלול מסלול כדי לבדוק את המסלול ל- Google.com tracert google. com >> results.txt

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

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

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