תוכן עניינים:

מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים: 13 שלבים
מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים: 13 שלבים

וִידֵאוֹ: מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים: 13 שלבים

וִידֵאוֹ: מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים: 13 שלבים
וִידֵאוֹ: שימוש ב-WebView להרצת קוד ג'אווה סקריפט 2024, יולי
Anonim
מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים
מבוא לסקריפט VB: מדריך למתחילים: חלק 2: עבודה עם קבצים

ובכן בהוראה האחרונה שלי ב- VBScript, עברתי כיצד ליצור סקריפט לכיבוי האינטרנט שלך כדי לשחק ב- Xbox360. היום יש לי בעיה אחרת. המחשב שלי נכבה בזמנים אקראיים ואני רוצה להיכנס בכל פעם שהמחשב יופעל מחדש לקובץ. יש לי תחושה שהבעיה היא כרטיס המסך אבל אני רוצה לוודא. אני משאיר את המחשב דולק כל הזמן אך לא יכול לפקח עליו 24/7, ולכן הפתרון הקל ביותר שלי הוא לכתוב חותמת זמן לקובץ בכל פעם שהוא מופעל מחדש. מכיוון שהוא נותן לי BSOD בכל פעם, רישום כשהוא ייכבה יהיה קשה אז אני צריך להשיג אותו כשהוא חוזר. זה החלק הקל. מכיוון שזה רק זמני עד שאבין מה לא בסדר במחשב, אני לא מתכוון לכתוב לרשום או להפוך אותו לשירות כך שהוא יתחיל בזמן האתחול. וכדי לגרום לזה לאתחל בכל פעם שהוא נכבה, אצטרך לערוך את ה- bios.

שלב 1: עריכת ה- Bios על מנת לאתחל אותו מחדש בעת הפסקת חשמל

עריכת ה- Bios כדי לאתחל אותה מחדש בעת הפסקת חשמל
עריכת ה- Bios כדי לאתחל אותה מחדש בעת הפסקת חשמל

אני לא בטוח אם הבעיה שלי היא בכשל באספקת החשמל או בכרטיס המסך שלי או במה מדובר. אבל אני יודע שהמחשב מאתחל מדי פעם. אז כדי לוודא שהוא מופעל מחדש לאחר הפסקת חשמל (כלומר: אספקת החשמל משחימה) אני רוצה לערוך את ה- bios. מכיוון שיש כל כך הרבה יצרני ביוס שונים בחוץ, יהיה קשה מדי לרשום את כל הדרכים השונות לעשות זאת בכל מסכי הביוס השונים, אז אני רק אתן לך את היסודות ונותן לך להבין. הפרטים בעצמך. בעיקרון כדי להיכנס לביוס שלך תצטרך ללחוץ על כפתור בעת האתחול. בדרך כלל הוא יגיד משהו כמו "הקש על Del כדי להיכנס להגדרה" או "F2". יצרנים שונים נותנים לך דרכים שונות אך בדרך כלל זהו מפתח "F2" או "Del". כך או כך צפה בו ולחץ על המקש שהוא אומר לך ללחוץ עליו. עכשיו תגיע למסך שהוא בדרך כלל אפור או כחול, אבל שוב זה תלוי בייצור הביוס שלך. אתה תחפש אפשרות להגדרות צריכת חשמל. הוא יופיע על חלון משלו כמו בצילום המסך של AMIBIOS (בהשאלה ממדריך חומרה של טום) או שבחלקו הוא עשוי להיות בחלון מתקדם של תכונות ביוס. בכל מקרה אתה מחפש הגדרה של "שחזור על AC/אובדן חשמל". זה יכול להיקרא משהו אחר אבל זה יהיה קרוב לזה. פשוט חפש את זה. בדרך כלל יהיו לו שלוש אפשרויות (מצב אחרון, מופעל לאחר הפסקת חשמל, כבוי לאחר הפסקת חשמל). אתה רוצה להפעיל אותו לאחר הפסקת חשמל. הקפד לשמור את ההגדרות ולצאת מהביוס. כעת, כאשר הכוח שלך נכשל או שתנתק את המכשיר, הוא יופעל מחדש ברגע שהוא יחזיר את החשמל. כןההההה !!!!!!!!!!!!!!!!

שלב 2: כתיבת התסריט חלק 1: הכנת תכנית

כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית
כתיבת התסריט חלק 1: הכנת תכנית

הדבר הראשון שאנחנו רוצים לעשות הוא ליצור תוכנית. מה בדיוק אנחנו רוצים שהתסריט יעשה. א) כאשר הכוח נכשל או שה- BSOD עולה אנו רוצים שהוא יאתחל מחדש. (טופל בשלב 1 עריכת ה- BiosB.) ברגע שהוא מופעל מחדש, אנו רוצים לכתוב לקובץ את התאריך והשעה המדויקים של האתחול מחדש. ג) אנו רוצים להיות מסוגלים לתקן את הקובץ. אם הוא יופעל מחדש יותר מפעם אחת לעולם לא נדע. D.) אנחנו רוצים שיהיה לו תיקון שגיאות אז הוא לא יתקלקל ואנו נוודא שנקבל את כל ההפעלה מחדש מבלי לפספס אותו בגלל קידוד גרוע. E.) אנחנו רוצים את זה כדי לצוץ הודעה שאומרת שהיא מופעלת מחדש. F.) אנחנו רוצים שהיא תפתח את הקובץ שאליו כתבנו כדי שנוכל לראות רשימה של כל אתחול מחדש כאשר נלחץ על אישור בהודעה המופיעה.

שלב 3: כתיבת התסריט חלק 2: יצירת הסקריפט והקצאת המשתנים

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

בסדר דבר ראשון, צור מסמך טקסט ושנה את שמו ל- any_name.vbs. השתמשתי ב shutdown_catcher.vbs אבל אתה יכול להשתמש בכל דבר. עכשיו פשוט לחץ לחיצה ימנית על קובץ ה- vbs ולחץ על עריכה. אם אתה משתמש בפנקס רשימות ++ עכשיו יהיה זמן טוב לפתוח אותו, אם לא תכנן לבצע קידוד כלשהו. צריך לבדוק איך להשיג את זה. עכשיו הדבר הראשון שאנחנו רוצים לעשות הוא ליצור משתנים. משתנים הם בעצם רק מחזיק מקום כך שאנחנו לא צריכים לכתוב חבורה שלמה של דברים כמה פעמים. דוגמא: יש לנו משפט שאומר "השועל החום המהיר קופץ מעל הכלבים העצלנים לאחור". אבל הוא נמצא בקוד שלנו 20 פעמים. נוכל להקליד את כל המשפט 20 פעמים או ליצור משתנה ולהקצות את המשפט לאותו משתנה אז בדוגמה זו אנו יוצרים את המשתנה strSentence ואז מקצים את "השועל החום המהיר קופץ מעל הכלבים העצלנים בחזרה" לאותו משתנה. עכשיו כל שעלינו לעשות הוא להקליד strSentence בכל פעם שאנו זקוקים למשפט והוא יודע להקליד "השועל החום המהיר קופץ מעל הכלבים העצלנים לאחור" איך עושים זאת: אם יש לנו מספר משתנים מאותו סוג שנוכל לשים אותם על אותה קו והפרידו את המשתנים באמצעות פסיקים. כדי ליצור משתנה עלינו לעשות מה שנקרא מימד המשתנה. לשם כך אנו מקלידים את Dim לפני המשתנה ואז אנו שמים קידומת על המשתנה כדי שנדע מה המשתנה מייצג. דוגמאות לכך הן str עבור משתנה מחרוזת obj עבור משתנה אובייקט const עבור קבוע …. הרשימה נמשכת ונמשכת. אלה הם אלה שבהם נשתמש בתסריט זה אז אסביר אותם מעט. מחרוזת היא בדרך כלל טקסט כמו משפט. אובייקט הוא בדרך כלל משהו פיזי כמו קובץ או תוכנית. וקבוע הוא דבר שתמיד תהיה לו אותה משמעות לאורך התסריט. הערה: בכל פעם שקו יש יחיד 'לפני זה הקו יזוהה על ידי הסקריפט. הם נקראים הערות והם בדרך כלל מוכנסים על ידי המתכנת אז הם יכולים לזכור מה הם עשו מאוחר יותר בבדיקת הקוד. אני אשתמש בהם כדי להגיב על הקוד כך שתוכל לראות מדוע עשיתי את הדרך שעשיתי. והם יהיו מעל השורה שהם מגיבים עליהם. שימוש בפועל: 'קו זה מאלץ אותך להגדיר את כל המשתנים. בלעדיו כל משתנה לא מוגדר יטופל כאובייקט אופציה מפורשתכעת אנו יוצרים 5 משתנים עבור התיקיות והקבצים נצטרך לקרוא להם איך שאתה רוצה אבל האמנה היא preNameDim objFiSyOb, objSysFold, objShell, objFile, objTextFile עכשיו אנחנו צריכים כדי ליצור משתני מחרוזת עבור הספרייה, הקובץ ושם הקובץ Dim strDir, strFile, strFileName עכשיו הקצה ערכים למשתנים strDir היא הספרייה שלנו אנחנו רוצים את התיקייה strDir = "C: / Catcher" 'strFile הוא המקום בו אנו רוצים מסמך הטקסט ומה שמו הואstrFile = "\ Shutdown_catcher.txt" 'שם הקובץ הוא כך שיש לנו את שם הקובץ לשימוש ב- pop upsstrFileName = "Shutdown_catcher.txt"' הבא עלינו להקצות קבוע לגישה ל- קובץ שיש לנו שלוש אפשרויות 'נשתמש רק בתוספת בקוד זה אבל נחמד לדעת את כולם. Const forReading = 1, forWriting = 2, ForAppending = 8' רק שעלינו להגדיר משתנה למערכת הקבצים. אובייקט כך שנוכל לקרוא לזה מאוחר יותר כאשר נזדקק לו הגדר objFiS yOb = CreateObject ("Scripting. FileSystemObject")

שלב 4: הסברים בין לבין

הסברים בין לבין
הסברים בין לבין

עכשיו שיש לנו את המשתנים שלנו בממדים כל שעלינו לעשות הוא להיזכר בכל פעם במשתנה הספציפי הזה. זה לא רק מצמצם את כמות ההקלדות שאנו עושים אלא גם יוצר פחות טעויות בגלל שגיאות כתיב. כעת טכנית כל שעלינו לעשות הוא להקליד את הקוד הבא וסיימנו 'הגדר את הקובץ עבור appendingSet objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True) 'כתוב את השורה החדשה ל- fileobjTextFile. WriteLine ("המחשב שלך נסגר על" & תאריך & "בשעה" ושעה)' סגור את הקובץobjTextFile. Close''הכין קופץ upWscript. Echo ('שלך מחשב כבה את "& תאריך &" בשעה "ושעה) 'פתח את הקובץ ב- IESet objShell = CreateObject (" WScript. Shell ") objShell.run (" סייר "&" "& strDir &" / shutdown_catcher.txt ") הבעיה היא שלא יהיה בו תיקון שגיאות, וכל שגיאה פשוטה כמו קובץ שאינו קיים או משתנה שכבר הוקצה, תקרוס את הסקריפט.

שלב 5: כתיבת התסריט חלק 3: אם אז הצהרות כתיקון שגיאה

כתיבת התסריט חלק 3: אם אז הצהרות כתיקון שגיאה
כתיבת התסריט חלק 3: אם אז הצהרות כתיקון שגיאה

הדרך הקלה ביותר לבצע תיקון שגיאות היא להשתמש באמירות if/then. על ידי קינון אם/אז הצהרות אתה יכול ליצור שורה של דברים שצריכים לקרות. אם a ו- b ו- c קורים אז עשה זאת אחרת עשה זאת לדוגמא: אנו רוצים לוודא שהקובץ שאליו אנו רוצים לכתוב נמצא אם אנו מוצאים אותו אנו רוצים לעשות דבר אם איננו מוצאים אותו אנו רוצים ליצור אותו או שאנו רוצים לבדוק אם התיקייה קיימת ואם לא יוצרים אותה ואז בודקים אם הקובץ קיים ברגע שנמצא את התיקייה ואם לא יוצרים אותה הראשונה היא דוגמה לאמירה אם אז השנייה היא מקוננת אם אז. אנחנו עושים את זה: ישנם ארבעה חלקים בהצהרה אם אז אם/אז אחר כך אם זה בעצם אם זה נכון אז עשה זאת אחרת עשה זאת ולאחר מכן סיים את ההצהרה מקודד כראוי אם אז אמירה תהיה: אם משהו = משהו אז עשה מה שאתה צריך לעשות אחרת תעשה משהו אחר ואם אתה יכול להשתמש בכל טיעון כל עוד הוא נכון הוא יעקוב אחר החלק דאז ויתעלם מהחלק האחר אבל אם הוא לא נכון הוא ידלג על אז ואז יעבור אל אחר ואז כשנסיים את המשפט if שמנו "סוף אם", אבל אם קיננו אם הצהרות, עלינו לסיים כל הצהרה אם. זה יגמור אותם מילד להורה, כך שה"סוף אם "הראשון יסיים את הצהרת ה- if בתוך ההורה, שם השני מסיים את ההצהרה המקורית (הורה) אם. כדי ליצור קופץ אנחנו פשוט מקלידים Wscript. Echo (" מה שיהיה אנחנו רוצים לומר בהודעה ") כדי להוסיף ערך משתנים לתוכו שמנו אותו בחוץ או בין מרכאות כפולות באמצעות הסימן אמפרסנד (&) כמפריד כדי שהתסריט יידע שהוא משתנה ולא טקסט. כמו זה: Wscript. Echo ("בלה בלה בלה" & strDir & "בלה בלה בלה" & strפיילאם & "בלה בלה בלה.") הפלט יהיה מוקפץ שאמר בלה בלה בלה C: / Catcher בלה בלה בלה shutdown_catcher.txt בלה בלה בלה. שימוש בפועל: 'אם התיקיה C; / exist If objFiSyOb. FolderExists (strDir) Then'get folder Set objSysFold = objFiSyOb. GetFolder (strDir)' אחרת צור 'את התיקיה c; / catcher Set objSysFold = objFi CreateFolder (strDir) 'ובדוק אם הקובץ והתיקיה קיימים אם objFiSyOb. FileExists (strDir & strFile) ואז אם מתקבלת תיקיה c: / catcher Set ob jSysFold = objFiSyOb. GetFolder (strDir) 'elseElse' צור צור מסמך טקסט shutdown_catcher.txt הגדר objFile = objFiSyOb. CreateTextFile (strDir & strFile)' ואז צץ הודעה שתגיד שיצרת את שתי התיקיות Wscript. Echo ("יצרנו תיקיה בשם "& strDir &" וקובץ בשם "& strFilename &" והציב אותו בספריית "& strDir & strFile &". ") 'end מקונן אם statementEnd If'end המקורי if statementEnd If'now במשפט if הראשון כבר בדקנו את התיקייה ומצאנו אותה אז עכשיו נבדוק אם filejf objFiSyOb. FileExists (strDir & strFile) ואז מצאתי תיקייה Set objSysFold = objFiSyOb. GetFolder (strDir) אחרת תוכל ליצור את הטקסט doc Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) 'צור מוקפץ שאומר שיצרנו את מסמך הטקסט Wscript. Echo ("יצרנו קובץ בשם" & strFileName & "בתיקיית" & strDir & "קובץ.)) סוף אם

שלב 6: הסברים בין לבין

הסברים בין לבין
הסברים בין לבין

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

שלב 7: תיקון שגיאות נוסף

עוד תיקון שגיאות
עוד תיקון שגיאות

כעת, לאחר שהשלמנו את רוב תיקון השגיאות אנו רוצים לכתוב לקובץ ולהראות את הקופצים. הבעיה היא שנקבל שגיאות הרשאה אם לא נשחרר את ההפניה של האובייקט הקודם המאוחסן במשתנה. אז אנחנו רוצים להכניס קטע קוד קטן שאומר להגדיר את המשתנים לכלום. נראה כך: set objFile = nothingset objSysFold = nothingSo לאלו מכם שעוקבים אחר הבית שלכם הקוד שלכם לנקודה זו צריך להיות (לקחתי את ההערה out): Option ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C: / Catcher" strFile = "\ Shutdown_catcher.txt" strFileName = "ShutdownRestering", 2. ForAppending = 8Set objFiSyOb = CreateObject ("Scripting. FileSystemObject") If objFiSyOb. FolderExists (strDir) ואז הגדר objSysFold = objFiSyOb. GetFolder (strDir) Else Set objSysFold = strjCSIRByStir (Strjir) ואז strj. FirDr. FirDr. FirDr. FirDr. FirDr. FirFr. Set objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo ("יצרנו תיקייה בשם" & strDir & "וקובץ בשם" & strFilename & "והצבנו אותו ב- הספרייה "& strDir & strFile &". ") סוף I fEnd IfIf objFiSyOb. FileExists (strDir & strFile) ואז הגדר objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo ("We & יצרו את הקובץ" "We & יצרו את הקובץ" "We & יצרו את הקובץ" "We & יצרו את הקובץ" "We & יצרו את הקובץ" We & יצרו את הקובץ "" We & יצרו את הקובץ "We & יצרו את הקובץ" We & יצרו את הקובץ "We & יצרו את הקובץ" We "ו" יצרנו את הקובץ "We & יצר את הקובץ" We & יצרו את הקובץ "We" והיוו str "& strDir &" תיקיית הקבצים. ") סוף Ifset objFile = nothingset objSysFold = כלום

שלב 8: כתיבת התסריט חלק 4: הגדרת תכונות

כתיבת התסריט חלק 4: הגדרת תכונות
כתיבת התסריט חלק 4: הגדרת תכונות

כעת עלינו להגדיר את התכונות לקובץ כדי שנוכל לתקן אותו. בעבר הגדרנו שלושה משתנים קבועים: forReading = 1forWriting = 2 forAppending = 8 אם הגדרת אותו ל- forReading תוכל לקרוא אותו אך לא לכתוב לו. אם תגדיר אותו ל- forWriting תכתוב את הקובץ הקיים בכל פעם שתפעיל את התוכנית.. אם תגדיר אותו ל- forAppending תוסיף שורה חדשה בכל פעם שהסקריפט מבצע את המסמך. מכיוון שאנו רוצים יומן של כל פעם שהוא מופעל מחדש אנחנו רוצים שהוא יתווסף ולא ייכתב יותר מדי, כך שאנו משתמשים ב- forAppending. כיצד אנו עושים זאת: עליך לתת שם לאובייקט שאליו ברצונך להגדיר תכונות. מכיוון שכבר ביצענו את רוב העבודה בשלבים הקודמים, עלינו רק להיזכר במשתנים בשלב זה. אז פשוט הגדר אותו ל- true. Actual Usage: 'object to set = filesystemobject.action (ספרייה+שם הקובץ, תכונה, true או false) הגדר objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True)

שלב 9: כתיבת התסריט חלק 5: כתיבה לקובץ

כתיבת התסריט חלק 5: כתיבה לקובץ
כתיבת התסריט חלק 5: כתיבה לקובץ

כתיבה לקובץ דומה מאוד לכתיבת מוקפץ. אתה פשוט שם: objTextFile. WriteLine ("מה שאתה רוצה להגיד" & משתנה למשוך כדי לכתוב שורה) ההבדל היחיד הוא החלק הראשון. בחלון קופץ אתה שם: Wscript.choin לשורת כתיבה שאתה שם: objTextFile. WriteLine ובשורת כתיבה עליך לסגור את שורת הכתיבה כדי שתדע להפסיק לכתוב ולשם כך תשתמש ב: objTextFile. CloseActual Usage: objTextFile. WriteLine ("המחשב שלך כבה ב-" & date & "at" & time) objTextFile.close'now הוסף בחלון קופץ כדי לומר שכתבת לקובץ כדי שהאדם יידע שזה קרה והוא צריך לסגור אותו כדי לפתוח את הקובץ ולצפות ב-WScript. Echo ("המחשב שלך כבה ב-" & date & "at" & זמן)

שלב 10: כתיבת התסריט חלק 5: פתיחת הקובץ לצפייה

כתיבת התסריט חלק 5: פתיחת הקובץ לצפייה
כתיבת התסריט חלק 5: פתיחת הקובץ לצפייה

התסריט יפסיק בשלב זה עד שמישהו ילחץ על המוקפץ. ברגע שאתה עובר את המוקפץ אתה יכול לשים שורה שפותחת את הקובץ. שימוש בתיקון שגיאות כלשהוא עוזר לשמור על הפעלת התוכנית בצורה יפה. כאשר אתה יוצר שגיאה ב- vbscript, היא מוסיפה ערך למשתנה "err.number" שהוא משתנה מוגדר מראש ב- vbscript. אינך צריך להגדיר אותו ויכול להשתמש בו בדיוק כמו כל משתנה אחר כל עוד אינך מפר את כלליו. הערך המוקצה למשתנה err.number הוא הקוד לשגיאה שהתרחשה. כעת תוכל לבדוק כל קוד שגיאה המוכר במסד הנתונים של vbscript ולוודא שהוא לא קרה. או קל יותר, פשוט לבדוק אם לוודא שהמשתנה err.number ריק. אם הוא ריק לא אירעו שגיאות. לשם כך אנו רק בודקים אם המשתנה שווה ל- vbEmpty. אז בתסריט שלנו אנחנו רוצים להשתמש באמירה אחרת אם אז. ובדוק אם אירעה שגיאה ואם היא לא פתחה את הקובץ לצפייה, אך אם כן, צצה הודעה עם מספר השגיאה בתוכה כדי שנוכל לאתר באגים. ואז כשכולנו מסיימים עם התסריט שלנו הקלד Wscript. Quit. זה אומר לתסריט לסיים את עצמו. זה עוזר לשמור על דליפות הזיכרון ותהליכים לא רצויים פועלים. כיצד משתמשים בו: אם מספר מספר שווה ל- vbEmpty אז צור פגז ואז הפעל את התוכנית מהמקלט אחרת צץ הודעה שאומרת כי קיימת טעות אם. שימוש בפועל: 'בדוק אם errorIf err.number = vbEmpty then'if none create a shell Set objShell = CreateObject ("WScript. Shell") 'ואז פתח את הקובץ ממעטפת זו באמצעות סייר. הוא למעשה ייפתח ב- IE אם כי objShell.run ("סייר" & "" & strDir & "\ shutdown_catcher.txt") 'אחרת תופיע הודעה עם מספר השגיאה Else WScript.echo "שגיאת VBScript:" & err.numberEnd If 'סוף scriptWscript.quit

שלב 11: הפעלת הסקריפט בהפעלה

הפעלת התסריט בהפעלה
הפעלת התסריט בהפעלה

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

שלב 12: הפעלת התוכנית

הפעלת התוכנית
הפעלת התוכנית
הפעלת התוכנית
הפעלת התוכנית
הפעלת התוכנית
הפעלת התוכנית

כאשר תבצע את קובץ vbscript כעת הוא א.) בדוק אם התיקייה C: / Catcher קיימת ואם לא צור אותה. B:) בדוק אם קיים הקובץ Shutdown_catcher.txt ואם לא צור אותו. C:) אם הוא יצר תיקייה או קובץ או שניהם היא תופיע הודעה שאומרת שהיא יצרה אותם (הערה: היא צריכה לעשות זאת רק בהפעלה הראשונה לאחר מכן היא כבר צריכה להיות שם אלא אם כן נמחקה, כך שתראה את ההודעה רק פעם אחת.יכול להיות שזה רעיון טוב להריץ את הסקריפט הזה פעם אחת תחת אתחול מחדש מבוקר, כך שתוכל לעקוף את החלונות הקופצים האלה או שאולי לא תכתוב שום דבר לקובץ כי הוא לא יעקוף את הקובץ הקופץ שנוצר.) D:) כתוב שורה ב- מסמך טקסט Shutdown_Catcher.txt שאומר כי כיבוי המחשב בתאריך כזה ואחרי בזמן כזה ואחר כך. E:) צץ הודעה האומרת שהייתה אתחול F:) פתח את הקובץ לצפייה.אם אתה מסתכל בשלב הבא אתה תראה את הקוד כתוב. כל שעלי לעשות הוא לשבת ולחכות. בכל פעם שהמחשב יאתחל יהיה לי תיעוד של זה. לאחר מכן אוכל לבדוק את הרשומה ולראות אם ישנה עקביות כלשהי. דוגמה עשויה להיות שהוא יופעל מחדש כל חצי שעה או שהוא יופעל מחדש בכל פעם שיש תוספת או 45 על השעון. זו לא הדרך היחידה שבה אני בודק את המחשב, רק שתדעו. יש לי גם תוכנית benchmarking הפועלת לבדיקת זמני כדי שאדע כמה חם כשהיא נכבית, מתח כדי שאדע אם אספקת החשמל נכשלת ועוד כמה דברים מועילים. ובכן אני מקווה שזה היה מועיל. אני יודע שאני נהנה מזה אז אולי גם אחרים יהנו. אם יש לך שאלות אתה מוזמן לשאול. אולי אני לא אגיע אליהם מיד אבל תוך מעט ואני אענה לך. תלוי איך היום/שבוע שלי מסתדרים.

שלב 13: הקוד

הקוד
הקוד

זהו הקוד כפי שנכתב ללא כל הרמזים וההערות_אופציה ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C: / Catcher" strFile = "\ Shutdown_catcherxt". Const forReading = 1, forWriting = 2, ForAppending = 8Set objFiSyOb = CreateObject ("Scripting. FileSystemObject") אם objFiSyOb. FolderExists (strDir) ואז הגדר objSysFold = objFiSyOb. GetFolder (SetDrSFO) (strDj) objFiSyOb. FileExists (strDir & strFile) ואז הגדר objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo ("יצרנו תיקייה בשם" & str "& strFilename &" והנח אותו בספריית "& strDir & strFile &". ") סיים IfEnd IfIf objFiSyOb. FileExists (strDir & strFile) ואז הגדר objSysFold = objFiSyOb. GetFolder (strDir) Elj Set objFile = objFiSe strDir & strFile) Wscript. Echo ("יש לנו יצר קובץ בשם "& strFileName &" בתיקיית הקבצים "& strDir &".)) סיים Ifset objFile = nothingset objSysFold = nothingSet objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True) objTextFile. Write כבה את "& date &" at "& time) objTextFile. CloseWscript. Echo (" המחשב שלך כבה ב- "& date &" at "& time) אם err.number = vbEmpty ואז הגדר objShell = CreateObject (" WScript. Shell ") objShell.run (" Explorer "&" "& strDir &" / shutdown_catcher.txt ") אחר WScript.echo" שגיאת VBScript: "& err.numberEnd IfWScript. Quit

מוּמלָץ: