לדלג לתוכן

1.4 באצ' בסיסי 3 הרצאה

אופרטורים ב-Batch

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

אופרטורים בסיסיים

  • | (pipe - צינור) מחבר בין פקודות: הפלט של הפקודה הראשונה מועבר לקלט של הפקודה השנייה.
    tasklist | find "Notepad"
    
  • > מפנה את הפלט של הפקודה לקובץ (מחליף את התוכן אם הקובץ קיים):
    echo Hello > file.txt
    
  • >> מפנה את הפלט של הפקודה לקובץ, אך מוסיף לתוכן הקיים:
    echo World >> file.txt
    

אופרטורים מתקדמים

  • ; מאפשר להריץ פקודות ברצף ללא תלות בהצלחתן:
    dir Downloads; dir C:\Users
    
  • && מריץ את הפקודה השנייה רק אם הפקודה הראשונה הסתיימה בהצלחה:
    dir a && type a
    
  • || מריץ את הפקודה השנייה רק אם הפקודה הראשונה נכשלה:
    fdfsd || whoami
    

קונכיה - shell

  • קונכיה, או shell - היא התוכנה שרצה בטרמינל שלנו שנותנת לנו גישה לכל הפקודות במחשב, עד כו שהשתמשנו בטרמינל cmd, שכברירת מחדל פותח את הshell שנקרא באצ' - batch.
  • אפשר להגיד שטרמינל זה תוכנה שאחראית לפתוח לנו shell-ים, וshell-ים הם התוכנות שבסוף מאפשרות לנו להריץ את כל הפקודות.
  • הshell באצ' שהתחלנו ללמוד היום, הוא shell מאוד שימושי עם המון פקודות, כדי לראות את כל הפקודות תוכלו לכתוב את הפקודה help ולראות בעצמכם רשימה של כל הפקודות, קיים תיעוד של כל הפקודות האלו באתר: https://ss64.com/nt/
  • בשיעור הבא נלמד על דרכים לפתח סקריפטים עם batch - לכתוב ממש קוד בשפת batch.

פקודות בbatch

  • בbatch קיימים שני סוגי פקודות:
    1. פקודות מובנות, פקודות שמובנות בתוך התוכנה batch שיצרנו בשבילנו שאנחנו משתמשים בהם כדי לבצע פעולות שקשורת לshell שלנו, למשל cd, color, exit - פקודות אלה הן פקודות שעושות פעולה בתוך הshell שלנו, למשל color משנה את הצבע של הshell, הפקודה cd משנה את הנתיב שהshell שלנו נמצא בו, וexit יוצא מהshell. הפקודה help מציגה את כל הפקודות המובנות בbatch
    2. פקודות חיצוניות, תוכנות שאנשים בעולם כתבו שאנחנו יכולים להריץ אותם כפקודה, למשל dir, mkdir, rmdir, notepad הם תוכנות שאנשים בעולם כתבו שbatch מאפשר לנו להריץ אותם כיאלו שהם פקודות, ומאפשר לנו אפילו להעביר להם פרמטרים. למשל הפקודה python, שלמדנו עלייה בקורס תכנות, היא פקודה שלא קשורה לbatch, היא תוכנה שקיימת שהתקנו על המחשב וbatch זיהה אותה, ומאפשר לנו להריץ אותה ממש כפקודה בshell.

משתני סביבה

  • במערכת הפעלה ווינדוס משתני סביבה הם משתנים גלובלים במערכת ההפעלה שכל התוכנות מקבלות. קיימים המון משתני סביבה שנוצרים אוטמטית (עליהם נדבר) וגם כל אחד יכול ליצור ולערוך משתני סביבה חדשים. קיימים משתני סביבה לכל המערכת ומשתני סביבה לכל משתמש.
  • כדי לגשת לכל המשתני סביבה כתבו בחיפוש במחשב (אם המחשב שלכם באנגלית) "enviroment" ולחצו על התוצאה הראשונה, ואם המחשב שלכם בעברית כתבו "סביבה" וחפשו "משתני סביבה".
  • יפתח לכם חלון כזה,
    Pasted image 20240628141929.png
    לחצו על envrioment variables.
  • שם תוכלו לראות את כל המשתני סביבה שלכם.
  • תוכלו לראות גם בshell את המשתני סביבה שלכם באמצעות הפקודה set.

משתני סביבה שכדאי לכם להכיר:

    • המשתנה "PATH"
      המשתנה הזה מכיל רשימה של נתיבים (directories) במחשב, שבהם ה-Shell מחפש קבצים כדי להריץ פקודות חיצוניות. לדוגמה, אם נרצה להריץ את הפקודה dir, המחשב יבדוק אם התוכנה קיימת באחד הנתיבים שמופיעים במשתנה ה-"PATH". למשל, התוכנה dir נמצאת בתיקיית C:\Windows\System32, ולכן אם נקליד את הפקודה הזו, ה-Shell ימצא אותה שם ויריץ אותה. אם לא היה את המשתנה "PATH", לא היינו יכולים להריץ פקודות חיצוניות בקלות. כאשר התקנו את Python, לדוגמה, היינו צריכים להוסיף את תיקיית ה-Python למשתנה ה-"PATH", כדי ש-Python יהיה זמין להרצה מכל מקום.
  1. המשתנה %USERNAME%
    הפקודה echo %USERNAME% תציג את שם המשתמש שמחובר כעת למערכת, כלומר את שם החשבון שבו אתם משתמשים.

  2. המשתנה %COMPUTERNAME%
    הפקודה echo %COMPUTERNAME% תציג את שם המחשב שאליו אתם מחוברים, כך תוכלו לדעת על איזה מחשב אתם עובדים במקרה של עבודה עם כמה מכשירים.

  3. המשתנה %OS%
    הפקודה echo %OS% תציג את הגרסה של מערכת ההפעלה המותקנת על המחשב. לדוגמה, ייתכן שתקבלו את הפלט Windows_NT אם אתם משתמשים במערכת הפעלה Windows.

  4. המשתנה %USERPROFILE%
    הפקודה echo %USERPROFILE% תציג את הנתיב אל תיקיית הבית של המשתמש הנוכחי. תיקיית הבית היא המקום שבו שומרים קבצים אישיים של המשתמש, כגון הגדרות או קבצים שהורדו.

סיכום

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