קובץ אצווה

שפת תכנות

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

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

במערכת ההפעלה Unix הזיהוי של התוכנה המפרשת את קובץ האצווה נעשה באמצעות שורה בתחילתו המתחילה ב-#! ולאחר מכן את הנתיב לתוכנה המפרשת. למשל:

#!/bin/sh

גורם לפירוש של קובץ האצווה על ידי מפרש ברירת המחדל של מעטפת הפקודות (שאמור להיות תואם ל־Bourne Shell). במקרים רבים קובץ אצווה מכיל רצף של פקודות שמפעיל אנושי היה יכול לתת: מספר פקודות (ולעיתים מבני בקרה ביניהם: תנאים ולולאות). לכן הוא מכונה לעיתים תסריט (script).

קובצי אצווה בחלונות ו-MS DOSעריכה

במערכת ההפעלה MS-DOS, קובצי האצווה נשמרים עם סיומת BAT ובחלונות הנגזרות מחלונות NT ניתן להשתמש גם בסיומת CMD. בהפעלתם תחת חלונות נפתח חלון דוס שמבצע את קובץ האצווה.

תוכנית לדוגמהעריכה

תוכנית המדפיסה את המחרוזת "Hello World!‎" לפלט הסטנדרטי:

@echo off
echo Hello World!
pause

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

דוגמה פשוטה לשימוש בחיבורי אינטרנטעריכה

netstat -a

הסבר: קטע הקוד הנ"ל מציג פקודה הנקראת Netstat, המציגה את כל החיבורים הנוכחיים למחשב שבו היא מופעלת. התוסף -a אומר לפונקציה זו להדפיס על המסך רשימה של כל החיבורים למחשב בשמם הדינאמי (DNS). כדי להציג את כתובת פרוטוקול האינטרנט (IP) של כל חיבור, יש לשלוח ping לכתובת זו. ping היא מין מחרוזת מידע ה"שואלת" את השרת על מצבו, כשהשרת "עונה" בחזרה כתובת הIP שלו חוזרת איתו.

דוגמה לשליחת pingעריכה

ping 127.0.0.1

הסבר: הפקודה ping שולחת את חבילת המידע לכתובת הנתונה לה (כתובת IP או DNS).

קובצי אצווה במערכת הפעלה Unix או Linuxעריכה

דוגמה לקובץ פשוט שמסדר את כל השורות בקובץ לפי סדר אלפבית ושולח אותם להדפסה במדפסת ברירת מחדל


#!/bin/sh
cat file.txt | sort | lp

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

קישורים חיצונייםעריכה