 |
 |
|
 |
מי מפחד מתכנות? (1) |
 |
|
 |
 |
לא אנחנו. ארז בן-ארי נותן לכם מדריך ראשוני שיכניס אתכם לחבורה שיודעת מה לעשות עם המחשב שלה |
 |
|
 |
 |
|
 |
 |
קשה שלא להתקנא במתכנתים האגדיים שהמציאו תוכנה חדשנית ויצאו לפנסיה מוקדמת עם המיליונים שהרוויחו, אך עולם התכנות נראה מסתורי ומפחיד עבור מי שמעולם לא נגע בתחום. ובכן, יש לנו חדשות בשבילכם - אפשר לכתוב תוכנות פשוטות גם בלי לבלות חצי-עשור בטכניון, ותוכנות כאלה יכולות להקל על החיים במידה משמעותית. הפעם נלמד כמה צעדים ראשונים בתכנות. בכתבה זו נתחיל עם כתיבת סקריפט מסוג Batch שיעזור לנו לעשות דברים בצורה אוטומטית יותר. מחר נלמד קצת על שפה מתקדמת יותר בשם VB-Script.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
מה זה שפת תכנות?
|
 |
 |
 |
 |
בעולם התכנות קיימות עשרות שפות תכנות, כשלכל אחת מהן עשויות להיות עשרות גרסאות. רוב התוכנות שאנחנו מכירים מפותחות בשפה C++ ("סי פלוס-פלוס") שנחשבת למורכבת ומקצועית מאוד. עבור מתכנתים מתחילים, שפת Visual Basic (המכונה בקיצור VB) נחשבת לקלה יותר, וכך גם אחותה הפשטנית יותר VB-Script. לפני שנגיע לכך, נעשה את הצעדים הראשונים על ידי כתיבת סקריפט שיפעל במסגרת חלון דוס במערכת ההפעלה חלונות. סקריפטים כאלה מכונים Batch Files, או "קבצי אצווה" בעברית, מכיוון שהם נועדו במקור כדי לקבץ כמה פקודות ביחד. כיום, למרות שזו לא נחשבת לשפת תכנות של ממש, התפתחה שפה זו לרמה גבוהה וניתן לפתח באמצעותה תוכנות מורכבות מאוד.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
מה אפשר לעשות כך?
|
 |
 |
 |
 |
שפת Batch תוכננה במקור למטרת טיפול בקבצים – מחיקה, העתקה והזזה, וכן להפעלת תוכנות. בהמשך, נוספו לה פקודות רבות לטיפול במשתנים וכך ניתן לה כוח רב המאפשר לבצע אוטומציה של משימות רבות. בגרסה הנוכחית של חלונות XP משולבות פקודות רבות המאפשרות לעשות כמעט הכל, החל מהעלאת קבצים לשרת באינטרנט ועד התקנה של תוכנות. ניתן גם למצוא באינטרנט פקודות חיצוניות המאפשרות דברים כמו משלוח אימייל או הורדת קבצים. כך נוכל, למשל, לומר למחשב לבצע ניקוי של תיקייה מסוימת באופן אוטומטי ולאחר הפעולה להתחבר לאינטרנט ולשלוח אימייל לעבודה כדי לעדכן אותנו על הצלחת או כישלון התהליך.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
מתחילים
|
 |
 |
 |
 |
כדי לכתוב קבצי אצווה, אין צורך בכלי עריכה משוכללים ויקרים – מספיק עורך טקסט פשוט. חלונות מכילה עורך קבצי טקסט כזה שאותו אפשר למצוא תחת תפריט ההתחלה/עזרים. לאחר כתיבת התוכנה, אפשר לשמור אותה בכל מקום בדיסק, ולשנות את סיומת הקובץ מ – TXT לסיומת BAT. לאחר מכן, לחיצה כפולה על הקובץ תפתח חלון דוס שחור ותבצע את הפקודות. לאחר סיום ההרצה, חלון הדוס ייסגר, וזה עלול להיות מטריד מכיוון שאם משהו התפספס בכתיבה, לא נספיק לראות במה טעינו. פיתרון לכך הוא להוסיף את הפקודה pause בסוף התוכנית, ואז המחשב יעצור ויחכה ללחיצה על מקש כלשהו לפני סגירת החלון.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
התוכנית הראשונה.
|
 |
 |
 |
 |
האם אתם מגבים את המחשב שלכם? רוב האנשים יודעים כמה זה חשוב, אך כשמגיע רגע האמת, למי יש כוח להתחיל לאסוף הכל בשביל לצרוב? קבצי אצווה יכולים לעזור לנו לעשות את זה יותר בקלות, ולתת לנו לפחות שכבה אחת של הגנה. כדי שהגיבוי יהיה יעיל, אנו נשתמש בתוכנת WinZip, שמציעה למשתמשים אפשרויות הפעלה מתוך קבצי אצווה בעזרת תוסף שהוא חינם לבעלים של הגרסה החוקית של התוכנה. בשלב ראשון, אנו צריכים להוריד את התוסף
ולהתקין אותו. ההתקנה פשוטה וקצרה. עכשיו יש לאסוף רשימה של תיקיות שבהם נמצאים הקבצים החיוניים ביותר. אנו מציעים לגבות את תיקיית המועדפים, תיקיית שולחן העבודה ותיקיית המסמכים-שלי. מיקום התיקיות הללו קצת שונה ממחשב למחשב אבל הן בדרך כלל נמצאות בכונן של מערכת ההפעלה, תחת תיקייה בשם Documents and Settings שבה תיקיה בשם המשתמש שלכם, לפי המבנה הבא (המילה {user} שונה ממחשב למחשב – בדוק מה שם המשתמש במחשבך). תיקיית המועדפים: C:\Documents and Settings\{user}\Favorites תיקיית שולחן העבודה: C:\Documents and Settings\{user}\Desktop תיקיית המסמכים שלי: C:\Documents and Settings\{user}\My Documents למה לא פשוט לגבות את כל תיקיית {user} אתם שואלים? ובכן, זה לא יזיק, אבל תת-תיקיות נוספות שבה עשויות לתפוס המון מקום, וחבל על העבודה. בהמשך נכתוב סקריפט אחר שיעזור לנו לנקות חלק מהמקום הזה באופן אוטומטי. אגב, ניתן להשתמש במשתני סביבה של המערכת כדי להפנות את הסקריפט ישירות לתיקייה הנכונה, כך שבמקום c:\documents and settings\{user} אפשר לכתוב %USERPROFILE% . אנחנו לא ממליצים לסמוך על טכניקה זו מכיוון שזה עלול להוביל לתקלות.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
איזה יום היום?
|
 |
 |
 |
 |
חלק חשוב ביותר בגיבוי הוא לעשותו באופן שגרתי, ולכן נרצה שהגיבוי ירוץ לפחות פעם בשבוע, ויגבה את הקבצים לתיקיה ששמה יהיה כמו התאריך של הגיבוי. כך נוכל לחזור גם לגיבוי ישן יותר במידת הצורך, כמו אם דפקנו איזה אימייל ישן, בלי לשים לב. בסקריפט, אפשר ליצור תיקייה לפי תאריך היום, והמפתח לכך הוא שימוש במשתנים. למערכת ההפעלה קיים משתנה-סביבה בשם DATE, שמכיל בכל רגע נתון את התאריך הנוכחי. כדי להשתמש בו, צריך פשוט לקרוא לו על ידי הצמדת סימן אחוזים בשני צדדיו. פה אנו נתקלים בבעיה...התאריך מכיל קווים אלכסוניים, וזה קצת משגע את חלונות שלנו. גם הסימנים \:*?"< >| עשויים להוות בעיה. למזלנו, ניתן להוציא מתוך תוכן המשתנה רק חלק מסוים בצורה כזו על ידי שימוש בסימן תילדה, בצורה כזו: %date:~10,4% כאן, לאחר סוף שם המשתנה, אנו שמים נקודתיים (:), תילדה (~), ושני מספרים מופרדים על ידי פסיק. המספר הראשון אומר לפקודה לדלג על עשרת הסימנים הראשונים, והמספר השני אומר לקחת את ארבעת הסימנים הבאים כך שמהתאריך המלא נשארת רק השנה 2005. עכשיו, נשתמש בטכניקה זו בשביל "לבנות" את התאריך מחדש, כאשר סימן המינוס ישמש כמפריד "חוקי" במקום האלכסונים, ועם פקודת MD בשביל למקם את הגיבויים בכונן D: MD d:\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%
שימו לב שהוספנו גם תחילית קבועה לתיקיה עם המילה backup ובחרנו למקם את הקובץ בכונן D. תוכלו לשנות זאת בקלות אם אצלכם המידע מסודר אחרת.
עכשיו, נפעיל את WINZIP לטובתנו. אם ביצענו התקנה רגילה, גרסה הדוס של התוכנה תהיה כאן: c:\Program Files\WinZip\WZZIP.EXE לאחר הפקודה, יש צורך לתת שלושה פרמטרים נוספים. הראשון הוא –rp , שאומר לתוכנה לכווץ גם תת-תיקיות (חשוב במיוחד עבור "המסמכים שלי"!). השני הוא שם הקובץ שיווצר, והשלישי הוא התיקייה שאותה אנו רוצים לכווץ. חשוב מאוד לזכור שדוס אינו מסתדר היטב עם עברית, ולכן אם שמות התיקיות שלכם הן בעברית, זה לא יעבוד. דבר נוסף חשוב הוא שאם שם התיקייה מכיל רווחים, יש לסגור את הפקודה כולה במרכאות! לדוגמא, כדי לכווץ את המסמכים שלי, הפקודה תהיה: "c:\Program Files\WinZip\WZZIP.EXE" -rp d:\Backup-%date:~4,2%-%date:~7,2%-%date:~10,4%\documents.zip "C:\Documents and Settings\maariv\My Documents"
עכשיו, כל מה שיש לעשות הוא לשכפל את השורה הזו עבור כל תיקייה שאנו רוצים לגבות, לעדכן בכל שורה את הנתיב של התיקייה ואת שם קובץ ה – ZIP שלתוכו היא תידחס, לשמור את הקובץ עם הסיומת BAT ולהפעיל אותו מדי כמה ימים (ניתן גם להפעיל אותו באופן אוטומטי מדי כמה ימים בעזרת מתזמן המשימות של חלונות). רק בל נשכח שהדיסק הקשיח הוא בכל זאת לא עשוי מפלדה, ולכן את קבצי ה – ZIP שנוצרים כדאי לצרוב מדי פעם ליתר ביטחון.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
להפעיל כמה דברים ביחד
|
 |
 |
 |
 |
מה יותר נוח מאשר להפעיל סדרת תוכנות בבת אחת? קבצי אצווה מצוינים כדי לחסוך לנו זמן ועצבים גם בתחום הזה, בעזרת הפקודה START. כל מה שצריך לעשות הוא למצוא את הנתיב המלא שבו נמצאות התוכנות, ולכתוב כמה שורות שיפעילו עבורנו את הכל. הטריק העיקרי הוא הנתיבים הארוכים, שאותם צריך לגלות קודם לכן. הנה דוגמאות לכמה תוכנות שימושיות: start cmd /c "C:\Program Files\Microsoft Office\Office10\winword.exe" start cmd /c "C:\Program Files\Internet Explorer\iexplore.exe" start cmd /c "C:\Program Files\Outlook Express\msimn.exe" start cmd /c "C:\WINDOWS\system32\calc.exe" שימו לב, שהפקודה START ושני הפרמטרים שאחריה חשובים כדי שהתוכנות יופעלו כראוי, אחרת פשוט ייפתח חלון דוס ריק במקום זאת. בצורה דומה, אפשר גם לפתוח תיקיות שימושיות, אבל הפעם צריך פרמטרים אחרים, ולא לשכוח לשים את שמות התיקיות במרכאות: start explorer "c:\Documents and Settings\maariv\Favorites" start explorer "c:\Program Files"
|
 |
 |
 |
 |
|
 |
 |
 |
 |
ניקיון לפסח
|
 |
 |
 |
 |
שימוש חשוב נוסף לקבצי אצווה הוא ניקיון בית, ואין סיבה לעשות את זה רק בפסח. ניקוי הדיסק הקשיח יכול לשפר משמעותית את הביצועים, וקבצי אצווה יכולים לעשות את זה עבורנו בקלות ובמהירות. בשלב ראשון, יש להכין רשימה של התיקיות שמבזבזות לנו מקום, ואז להשתמש בפקודה DEL כדי לבצע את המחיקה.
*שימו לב!* השימוש בפקודה זו הוא מסוכן! שימוש בלתי נכון ובלתי זהיר עלול לגרום נזק בלתי הפיך למערכת ההפעלה שלכם, ולכן יש לבצע גיבוי לפני הניסיונות!
del /q /s /f "C:\Documents and Settings\maariv\Local Settings\Temporary Internet Files\Content.IE5\*.*" del /q /s /f "C:\Documents and Settings\maariv\Local Settings\Temp\*.*" כפי שניתן לראות, הוספנו את הפרמטרים /q /s /f כדי לומר לפקודה למחוק את כל הקבצים ללא עצירה (q), גם אם הם מוגנים מפני מחיקה (f) וגם בתת-תיקיות (s). מכיוון שהנתיב מכיל רווחים, הוספנו מרכאות בתחילה ובסוף. במחשב שלכם תצטרכו להחליף את שם המשתמש בשם שמופיע אצלכם, כמובן. בטכניקה דומה, אפשר למחוק גם את תוכנן של תיקיות ההיסטוריה(History), מסמכים אחרונים(My Recent Documents) והעוגיות(Cookies) כדי להגן על הפרטיות של המשתמש מפני משתמשים אחרים באותו מחשב.
|
 |
 |
 |
 |
|
 |
 |
 |
 |
מה הלאה?
|
 |
 |
 |
 |
בכן, זהו השלב הראשון. בהמשך, קיימות פקודות חשובות נוספות כגון FOR ו – IF שמאפשרות לבנות תוכניות מורכבות מאוד. תוכלו ללמוד עוד על הפקודות הללו כאן וכאן.
מחר נלמד תכנות ממשי יותר בעזרת שפת VB-Script.
במידה ונתקלתם בבעיות בכתיבה או בהרצה, נשמח לסייע לכם בפורום שלנו. |  |  |  |  | |
|
 |
 |
 |
|
 |
|
|

|
|
 |
|