Πίνακας περιεχομένων:

Εισαγωγή στο VB Script: a Οδηγός για αρχάριους: Μέρος 2: Εργασία με αρχεία: 13 βήματα
Εισαγωγή στο VB Script: a Οδηγός για αρχάριους: Μέρος 2: Εργασία με αρχεία: 13 βήματα

Βίντεο: Εισαγωγή στο VB Script: a Οδηγός για αρχάριους: Μέρος 2: Εργασία με αρχεία: 13 βήματα

Βίντεο: Εισαγωγή στο VB Script: a Οδηγός για αρχάριους: Μέρος 2: Εργασία με αρχεία: 13 βήματα
Βίντεο: Ολοκληρώστε το μάθημα TypeScript σε μια ώρα | Δακτυλογραφία για αρχάριους 2024, Ιούλιος
Anonim
Εισαγωγή στο VB Script: a Beginners Guide: Part 2: Working With Files
Εισαγωγή στο VB Script: a Beginners Guide: Part 2: Working With Files

Λοιπόν, στο τελευταίο μου VBScript με οδηγίες, πέρασα πώς να φτιάξω ένα σενάριο για να κλείσω το διαδίκτυο για να παίξω το Xbox360. Σήμερα έχω ένα διαφορετικό πρόβλημα. Ο υπολογιστής μου έκλεισε σε τυχαίες στιγμές και θέλω να συνδεθώ κάθε φορά που ο υπολογιστής επανεκκινείται σε ένα αρχείο. Έχω την αίσθηση ότι το πρόβλημα είναι η κάρτα βίντεο, αλλά θέλω να σιγουρευτώ. Αφήνω τον υπολογιστή ανά πάσα στιγμή αλλά δεν μπορώ να τον παρακολουθώ 24/7, οπότε η ευκολότερη λύση μου είναι να γράφω μια χρονική σφραγίδα σε ένα αρχείο κάθε φορά που κάνει επανεκκίνηση. Επειδή μου δίνει ένα BSOD κάθε φορά, η εγγραφή όταν κλείνει θα είναι δύσκολη, οπότε πρέπει να το πάρω όταν επανέλθει. Αυτό είναι το εύκολο μέρος. Λόγω του γεγονότος ότι αυτό είναι απλώς προσωρινό μέχρι να καταλάβω τι συμβαίνει με τον υπολογιστή, δεν πρόκειται να γράψω στο μητρώο ή να το κάνω υπηρεσία, ώστε να ξεκινήσει κατά την εκκίνηση. Και για να το κάνω επανεκκίνηση κάθε φορά που κλείνει θα πρέπει να επεξεργαστώ το bios.

Βήμα 1: Επεξεργασία του Bios για να γίνει επανεκκίνηση σε λειτουργία Fail

Επεξεργασία του Bios για να το κάνετε για επανεκκίνηση στο Power Fail
Επεξεργασία του Bios για να το κάνετε για επανεκκίνηση στο Power Fail

Δεν είμαι σίγουρος αν το πρόβλημά μου οφείλεται στην αποτυχία του τροφοδοτικού ή στην κάρτα βίντεο ή τι είναι. Αλλά ξέρω ότι ο υπολογιστής επανεκκινείται κάθε τόσο συχνά. Έτσι, για να βεβαιωθείτε ότι επανεκκινείται μετά από διακοπή ρεύματος (IE: το τροφοδοτικό σβήνει) θέλω να επεξεργαστώ το bios. Λόγω του γεγονότος ότι υπάρχουν τόσοι πολλοί διαφορετικοί κατασκευαστές βιολογικών προϊόντων εκεί έξω, θα ήταν πολύ δύσκολο να απαριθμήσω όλους τους διαφορετικούς τρόπους για να το κάνετε αυτό σε όλες τις διαφορετικές οθόνες bios, οπότε θα σας δώσω τα βασικά και θα σας αφήσω να καταλάβετε τις λεπτομέρειες μόνος σου. Βασικά για να μπεις στο bios σου θα χρειαστεί να πατήσεις ένα κουμπί στην εκκίνηση. Συνήθως θα πει κάτι σαν "χτύπα το Del για να μπεις στη ρύθμιση" ή "F2". Διαφορετικοί κατασκευαστές σας δίνουν διαφορετικούς τρόπους, αλλά συνήθως είναι είτε "F2" είτε "Del". Σε κάθε περίπτωση προσέξτε το και πατήστε το κλειδί που σας λέει να χτυπήσετε. Τώρα θα έρθετε σε μια οθόνη που είναι συνήθως γκρι ή μπλε, αλλά και πάλι εξαρτάται από το βιογραφικό σας. Θα αναζητήσετε μια επιλογή ρυθμίσεων ισχύος. Θα είναι είτε σε ένα παράθυρο μόνος του, όπως στο στιγμιότυπο οθόνης AMIBIOS (δανεισμένο από τον οδηγό υλικού toms) είτε σε ορισμένα μπορεί να βρίσκεται σε ένα παράθυρο προηγμένων δυνατοτήτων bios. Ούτως ή άλλως, ψάχνετε για μια ρύθμιση "restore on ac/power loss". Μπορεί να ονομάζεται κάτι άλλο, αλλά θα είναι κοντά σε αυτό. Απλά ψάξτε το. Συνήθως θα έχει τρεις επιλογές (τελευταία κατάσταση, ενεργοποίηση μετά από απώλεια ισχύος, απενεργοποίηση μετά από απώλεια ισχύος). Θέλετε να το ενεργοποιήσετε μετά από απώλεια ισχύος. Βεβαιωθείτε ότι έχετε αποθηκεύσει τις ρυθμίσεις σας και βγείτε από το bios. Τώρα όταν αποτύχει η τροφοδοσία σας ή αποσυνδέσετε το μηχάνημά σας, θα επανεκκινήσει μόλις επιστρέψει το ρεύμα. Ναιχχχχχ !!!!!!!!!!!!!!!!

Βήμα 2: Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο

Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο
Συγγραφή του σεναρίου Μέρος 1: Κάνοντας ένα σχέδιο

Το πρώτο πράγμα που θέλουμε να κάνουμε είναι να δημιουργήσουμε ένα σχέδιο. Τι ακριβώς θέλουμε να κάνει το σενάριο. Α.) Όταν η ισχύς αποτύχει ή εμφανιστεί το BSOD, θέλουμε να γίνει επανεκκίνηση. (Έχουμε φροντίσει στο βήμα 1 Επεξεργασία του BiosB.) Μόλις επανεκκινηθεί θέλουμε να γράψουμε σε ένα αρχείο την ακριβή ημερομηνία και ώρα επανεκκίνησης. Γ.) Θέλουμε να είμαστε σε θέση να τροποποιήσουμε αυτό το αρχείο. Εάν κάνει επανεκκίνηση περισσότερες από μία φορές, δεν θα το γνωρίζαμε ποτέ. Δ.) Θέλουμε να έχει διόρθωση σφαλμάτων, ώστε να μην χαλάσει και βεβαιωνόμαστε ότι θα έχουμε όλες τις επανεκκινήσεις μας χωρίς να χάσουμε καμία λόγω κακής κωδικοποίησης. Ε.) Το θέλουμε για να εμφανιστεί ένα μήνυμα που λέει ότι έγινε επανεκκίνηση.

Βήμα 3: Συγγραφή του σεναρίου Μέρος 2: Δημιουργία του σεναρίου σας και εκχώρηση των μεταβλητών

Συγγραφή του σεναρίου Μέρος 2: Δημιουργία του σεναρίου σας και εκχώρηση των μεταβλητών
Συγγραφή του σεναρίου Μέρος 2: Δημιουργία του σεναρίου σας και εκχώρηση των μεταβλητών

Εντάξει πρώτα, δημιουργήστε ένα έγγραφο κειμένου και μετονομάστε το σε any_name.vbs. Χρησιμοποίησα shutdown_catcher.vbs αλλά μπορείτε να χρησιμοποιήσετε οτιδήποτε. Τώρα απλά κάντε δεξί κλικ στο αρχείο vbs και πατήστε επεξεργασία. Εάν χρησιμοποιείτε το σημειωματάριο ++ τώρα θα ήταν μια καλή στιγμή για να το ανοίξετε, αν δεν σχεδιάζετε παρά να κάνετε οποιαδήποτε ποσότητα κωδικοποίησης θα πρέπει να το ψάξουμε. Τώρα, το πρώτο πράγμα που θέλουμε να κάνουμε είναι να δημιουργήσουμε μεταβλητές. Οι μεταβλητές είναι βασικά απλώς ένας κάτοχος χώρου, οπότε δεν χρειάζεται να γράψουμε μια σειρά από πράγματα πολλές φορές. παράδειγμα: έχουμε μια πρόταση που λέει "η γρήγορη καφετιά αλεπού πηδά πάνω από τους τεμπέληδες σκύλους πίσω". αλλά είναι στον κωδικό μας 20 φορές. μπορούμε είτε να πληκτρολογήσουμε ολόκληρη την πρόταση 20 φορές είτε να δημιουργήσουμε μια μεταβλητή και να εκχωρήσουμε την πρόταση σε αυτήν τη μεταβλητή. Έτσι σε αυτό το παράδειγμα δημιουργούμε τη μεταβλητή strSentence και στη συνέχεια αναθέτουμε "η γρήγορη καφετιά αλεπού πηδά πάνω από τους τεμπέληδες σκύλους" σε αυτήν τη μεταβλητή. Τώρα το μόνο που έχουμε να κάνουμε είναι να πληκτρολογούμε strSentence κάθε φορά που χρειαζόμαστε την πρόταση και ξέρει να πληκτρολογεί "η γρήγορη καφετιά αλεπού πηδάει πίσω στους τεμπέληδες σκύλους" πώς θα το κάνουμε: Αν έχουμε πολλές μεταβλητές του ίδιου τύπου μπορούμε να βάλουμε στην ίδια γραμμή και διαχωρίστε τις μεταβλητές με κόμματα. Για να δημιουργήσουμε μια μεταβλητή πρέπει να κάνουμε αυτό που ονομάζεται διαστασιολόγηση της μεταβλητής. Για να το κάνουμε αυτό, πληκτρολογούμε Dim πριν από τη μεταβλητή, στη συνέχεια βάζουμε ένα πρόθεμα στη μεταβλητή, ώστε να γνωρίζουμε τι αντιπροσωπεύει η μεταβλητή. Τα παραδείγματα είναι str για μια μεταβλητή συμβολοσειράς obj για μια μεταβλητή αντικειμένου const για μια σταθερά…. Η λίστα συνεχίζεται και συνεχίζεται. αυτά είναι αυτά που θα χρησιμοποιήσουμε σε αυτό το σενάριο οπότε θα τα εξηγήσω λίγο. μια συμβολοσειρά είναι συνήθως κείμενο σαν μια πρόταση. Ένα αντικείμενο είναι συνήθως κάτι φυσικό όπως ένα αρχείο ή ένα πρόγραμμα. και ένα σταθερό είναι κάτι που θα έχει πάντα το ίδιο νόημα σε όλο το σενάριο. ΣΗΜΕΙΩΣΗ: ΟΠΟΙΑΔΗΠΟΤΕ ΦΟΡΕΙΑ ΜΙΑ ΓΡΑΜΜΗ ΕΧΕΙ ΜΙΑ ΜΟΝΑΔΗ ΠΡΙΝ Η ΓΡΑΜΜΗ ΘΑ ΑΓΝΟΗΘΕΙ ΑΠΟ ΤΟ ΓΡΑΦΕΙΟ. ΛΕΓΟΝΤΑΙ ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΣΥΝΗΘΩΣ ΕΙΝΑΙ ΚΑΤΑΣΚΕΥΑΣΜΕΝΟΣ ΑΠΟ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΗΡΑ ΜΠΟΡΟΥΝ ΝΑ ΘΥΜΟΝΤΑΙ ΤΙ ΕΚΑΝΕ ΑΡΓΑ ΟΤΑΝ ΕΠΙΣΚΟΠΟΥΝ ΤΟΝ ΚΩΔΙΚΟ. ΘΑ ΤΟΥΣ ΧΡΗΣΙΜΟΠΟΙΗΣΩ ΓΙΑ ΝΑ ΚΑΝΩ ΣΧΟΛΙΑ ΓΙΑ ΤΟΝ ΚΩΔΙΚΟ ΓΙΑ ΝΑ ΒΛΕΠΕΤΕ ΓΙΑΤΙ ΕΙΧΑ ΧΑΡΩΣΕΙ ΤΟΝ ΤΡΟΠΟ ΠΟΥ ΕΙΧΑ. ΚΑΙ ΘΑ ΠΑΝΩ ΑΠΟ ΤΗ ΓΡΑΜΜΗ ΠΟΥ ΣΧΟΛΙΑΖΟΥΝ. Πραγματική Χρήση: «αυτή η γραμμή σας αναγκάζει να ορίσετε όλες τις μεταβλητές. Χωρίς αυτό, κάθε απροσδιόριστη μεταβλητή θα αντιμετωπιστεί ως αντικείμενοΕπιλογή ρητή 'τώρα δημιουργούμε 5 μεταβλητές για τους φακέλους και τα αρχεία που θα χρειαστούμε' ονομάστε τις όπως θέλετε, αλλά η σύμβαση είναι για να δημιουργήσετε μεταβλητές συμβολοσειράς για τον κατάλογο, το αρχείο και το όνομα αρχείουDim strDir, strFile, strFileName' τώρα εκχωρήστε τιμές στις μεταβλητές'το strDir είναι ο κατάλογός μας που θέλουμε το φάκελο σε strDir = "C: / Catcher" 'το strFile είναι εκεί που θέλουμε το έγγραφο κειμένου και το όνομά του αρχείο έχουμε τρεις επιλογές 'θα χρησιμοποιούμε μόνο το συνημμένο σε αυτόν τον κώδικα, αλλά είναι ωραίο να τα γνωρίζουμε όλα. Const forReading = 1, forWriting = 2, ForAppend = 8' τέλος πρέπει να ορίσουμε μια μεταβλητή στο σύστημα αρχείων αντικείμενο ώστε να μπορούμε να το καλέσουμε αργότερα όταν το χρειαζόμαστε Ρύθμιση objFiS yOb = CreateObject ("Scripting. FileSystemObject")

Βήμα 4: Εξηγήσεις ενδιάμεσα

Εξηγήσεις ενδιάμεσα
Εξηγήσεις ενδιάμεσα

Τώρα που έχουμε τις μεταβλητές μας σε διάσταση το μόνο που έχουμε να κάνουμε είναι να θυμόμαστε τη συγκεκριμένη μεταβλητή κάθε φορά. Αυτό όχι μόνο μειώνει την ποσότητα πληκτρολόγησης που κάνουμε, αλλά δημιουργεί και λιγότερα λάθη λόγω λανθασμένων ορθογραφιών. Τώρα τεχνικά το μόνο που έχουμε να κάνουμε είναι να πληκτρολογήσουμε τον ακόλουθο κώδικα και τελειώσαμε "ορίστε το αρχείο για την προσθήκη" Set objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True) "γράψτε τη νέα γραμμή στο fileobjTextFile. WriteLine (" Ο υπολογιστής σας κλείνει "& ημερομηνία &" στις "& ώρα)" κλείστε το αρχείο υπολογιστή Τερματισμός λειτουργίας "& date &" at "& time) 'ανοίξτε το αρχείο στο IESet objShell = CreateObject (" WScript. Shell ") objShell.run (" Explorer "&" "& strDir &" / shutdown_catcher.txt ") Το πρόβλημα είναι ότι δεν θα έχει καμία διόρθωση σφάλματος και οποιοδήποτε απλό σφάλμα, όπως το αρχείο που δεν υπάρχει ή η μεταβλητή που έχει ήδη εκχωρηθεί, θα καταστρέψει το σενάριο.

Βήμα 5: Γράφοντας το σενάριο Μέρος 3: Εάν στη συνέχεια δηλώσεις ως διόρθωση σφάλματος

Γράφοντας το σενάριο Μέρος 3: Αν Στη συνέχεια δηλώσεις ως διόρθωση σφάλματος
Γράφοντας το σενάριο Μέρος 3: Αν Στη συνέχεια δηλώσεις ως διόρθωση σφάλματος

Ο ευκολότερος τρόπος για να διορθώσετε σφάλματα είναι να χρησιμοποιήσετε τις δηλώσεις if/then. Βασικά η δήλωση if τότε λέει εάν συμβεί κάτι, κάντε το διαφορετικά, κάντε το αυτό. Ενσωματώνοντας τις δηλώσεις if/then μπορείτε να δημιουργήσετε μια σειρά από πράγματα που πρέπει να συμβούν. Αν συμβεί το α και το β και το c, κάντε το άλλο, κάντε αυτό. Παράδειγμα: θέλουμε να βεβαιωθούμε ότι το αρχείο στο οποίο θέλουμε να γράψουμε είναι εκεί αν το βρούμε θέλουμε να κάνουμε τίποτα, αν δεν το βρούμε θέλουμε να το δημιουργήσουμε ή Θέλετε να ελέγξετε εάν ο φάκελος είναι εκεί και αν δεν τον δημιουργήσετε και, στη συνέχεια, ελέγξτε αν το αρχείο υπάρχει μόλις βρούμε το φάκελο και αν δεν το δημιουργήσουμε το κάνουμε: υπάρχουν τέσσερα μέρη σε μια if τότε if/τότε elseend αν είναι βασικά αν αυτό είναι αλήθεια, κάντε το αλλιώς κάντε αυτό αλλιώς τελειώστε την πρόταση μια σωστά κωδικοποιημένη αν τότε δήλωση θα ήταν: Αν κάτι = κάτι Τότε κάντε τι πρέπει να κάνετε Άλλοτε κάντε άλλο βάζουμε "τέλος αν", αλλά αν έχουμε φωλιάσει προτάσεις πρέπει να τερματίσουμε κάθε δήλωση αν. Θα τους τερματίσει από παιδί σε γονέα, έτσι το πρώτο "τέλος αν" τελειώνει την εντολή if μέσα στον γονέα, όπου το δεύτερο τελειώνει την αρχική (γονική) αν δήλωση. Για να κάνουμε ένα αναδυόμενο παράθυρο απλώς πληκτρολογούμε Wscript. Echo ("ό, τι θέλουμε να πούμε στο μήνυμα ") για να προσθέσουμε μια τιμή μεταβλητών σε αυτήν, την τοποθετούμε έξω ή ανάμεσα σε διπλά εισαγωγικά χρησιμοποιώντας το σύμβολο ampersand (&) ως οριοθέτη, ώστε το σενάριο να γνωρίζει ότι είναι μεταβλητή και όχι κείμενο. όπως αυτό: Wscript. Echo ("Μπλα μπλα μπλα" & strDir & "μπλα μπλα μπλα" & strFilename & "μπλα μπλα μπλα.") Η έξοδος θα ήταν ένα αναδυόμενο παράθυρο που θα έλεγε μπλα μπλα μπλα C: / Catcher μπλα μπλα μπλα shutdown_catcher.txt μπλα μπλα μπλα. Πραγματική χρήση: 'αν ο φάκελος C; / υπάρχει Αν objFiSyOb. FolderExists (strDir) Στη συνέχεια, πάρτε το φάκελο Ορίστε objSysFold = objFiSyOb. GetFolder (strDir)' αλλιώςΕπιλέξτε Δημιουργία του φακέλου c; / catcher Set objSysFold = obj CreateFolder (strDir) »και ελέγξτε αν υπάρχει το αρχείο και ο φάκελος Αν objFiSyOb. FileExists (strDir & strFile) Τότε 'αν λάβει το φάκελο c: / catcher Set ob jSysFold = objFiSyOb. GetFolder (strDir) 'elseElse'create text text shutdown_catcher.txt Set objFile = objFiSyOb. CreateTextFile (strDir & strFile)' και στη συνέχεια εμφανίζεται ένα μήνυμα για να πει ότι δημιουργήσατε και τα δύο φάκελο Wscript. Echo (" με όνομα "& strDir &" και ένα αρχείο με όνομα "& strFilename &" και το τοποθέτησε στον κατάλογο "& strDir & strFile &". ") 'τέλος ένθετο if statementEnd If'end πρωτότυπο if statementEnd If'now στην πρώτη if δήλωση Έχουμε ήδη ελέγξει για φάκελο και το βρήκαμε, τώρα ελέγχουμε για το αρχείοIf CreateTextFile (strDir & strFile) »δημιουργήστε ένα αναδυόμενο παράθυρο που λέει ότι δημιουργήσαμε το έγγραφο κειμένου Wscript. Echo (" Δημιουργήσαμε ένα αρχείο με το όνομα "& strFileName &" στο φάκελο "& strDir &". ") Τέλος Αν

Βήμα 6: Εξηγήσεις ενδιάμεσα

Εξηγήσεις ενδιάμεσα
Εξηγήσεις ενδιάμεσα

Αν κοιτάξετε προσεκτικά τον κώδικα από το προηγούμενο βήμα, θα δείτε τόσο μια ένθετη όσο και μια μη ένθετη αν. Η πρώτη είναι μια ένθετη δήλωση. Ελέγχει το φάκελο και το αρχείο και αν δεν τα βρει δημιουργεί και τα δύο. Το δεύτερο αναζητά μόνο ένα αρχείο και αν δεν το βρει δημιουργεί μόνο το αρχείο. Θα πει κάποιος γιατί και τα δύο. Λοιπόν, τι συμβαίνει εάν το αρχείο διαγραφεί, αλλά ο φάκελος δεν είναι. Η πρώτη δήλωση if θα παραλείψει τη δημιουργία του αρχείου επειδή βρήκε το φάκελο και δεν θα ενεργοποιήσει ποτέ το άλλο μέρος της δήλωσης. Έτσι, όταν πήγατε να γράψετε στο αρχείο, θα έβγαινε λάθος επειδή το αρχείο θα έλειπε. Έτσι, έχοντας το δεύτερο εκεί, λύνει αυτό το πρόβλημα. Τεχνικά θα μπορούσατε να αφαιρέσετε την ένθετη δήλωση επειδή είναι σχεδόν η ίδια με τη δεύτερη αν και τότε δήλωση, αλλά τότε θα είχατε μόνο ένα αναδυόμενο παράθυρο και δεν θα ήταν τόσο ευδιάκριτο Επιπλέον μου έδωσε την ευκαιρία να σας δείξω ένθετο σε αντίθεση με το -ένθετα αν δηλώσεις.

Βήμα 7: Περισσότερη διόρθωση σφαλμάτων

Περισσότερη διόρθωση σφάλματος
Περισσότερη διόρθωση σφάλματος

Τώρα που έχουμε ολοκληρώσει την πλειοψηφία της διόρθωσης σφάλματος, θέλουμε να γράψουμε στο αρχείο και να εμφανίσουμε τα αναδυόμενα παράθυρα. Το πρόβλημα είναι ότι θα λάβουμε σφάλματα άδειας εάν δεν απελευθερώσουμε την αναφορά του προηγούμενου αντικειμένου που είναι αποθηκευμένη στη μεταβλητή. Έτσι θέλουμε να βάλουμε ένα μικρό απόσπασμα κώδικα που λέει να ορίσετε τις μεταβλητές στο τίποτα. Βλέπει έτσι: set objFile = nothingset objSysFold = τίποταΓιατί για εσάς που ακολουθείτε στο σπίτι ο κωδικός σας σε αυτό το σημείο πρέπει να είναι (πήρα το σχόλιο έξω): Option ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C: / Catcher" strFile = "\ Shutdown_catcher.txt" strFileNat = forutRead = " ForAppending = 8Set objFiSyOb = CreateObject ("Scripting. FileSystemObject") If objFiSyOb. FolderExists (strDir) Στη συνέχεια, ορίστε objSysFold = objFiSyOb. GetFolder (strDir) Else Set objSysFold.obyFirShifFile = objFiFir Ορισμός objSysFold = objFiSyOb. GetFolder (strDir) Άλλο Σετ objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo ("Δημιουργήσαμε ένα φάκελο με όνομα" & strDir & "και ένα αρχείο με όνομα" & strFilename & "και το τοποθετήσαμε σε τον κατάλογο "& strDir & strFile &". ") Τέλος Ι fEnd IfIf objFiSyOb. FileExists (strDir & strFile) Στη συνέχεια ορίστε objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo (" "& strDir &" file folder. ") Τέλος Ifset objFile = nothingset objSysFold = τίποτα

Βήμα 8: Γράφοντας το σενάριο Μέρος 4: Ρύθμιση χαρακτηριστικών

Συγγραφή του σεναρίου Μέρος 4: Ρύθμιση χαρακτηριστικών
Συγγραφή του σεναρίου Μέρος 4: Ρύθμιση χαρακτηριστικών

Τώρα πρέπει να ορίσουμε τα χαρακτηριστικά στο αρχείο, ώστε να μπορούμε να το τροποποιήσουμε. Προηγουμένως ορίζαμε τρεις σταθερές μεταβλητές: forReading = 1forWriting = 2 forAppend = 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.echoin σε μια γραμμή εγγραφής που βάζετε: objTextFile. WriteLineAnd σε μια γραμμή εγγραφής πρέπει να κλείσετε τη γραμμή εγγραφής ώστε να ξέρει να σταματήσει να γράφει και για αυτό χρησιμοποιείτε: objTextFile. CloseActual Usage: objTextFile. WriteLine ("Ο υπολογιστής σας κλείνει" & ημερομηνία & "στις" & ώρα) objTextFile.κλείστε τώρα προσθέστε ένα αναδυόμενο παράθυρο για να πείτε ότι γράψατε στο αρχείο, ώστε το άτομο να γνωρίζει ότι συνέβη και πρέπει να το κλείσει για να ανοίξει το αρχείο και να εμφανίσει το viewWscript. Echo ("Ο υπολογιστής σας τερματίζεται" & χρόνος)

Βήμα 10: Σύνταξη του σεναρίου Μέρος 5: Άνοιγμα του αρχείου για προβολή

Συγγραφή του σεναρίου Μέρος 5: Άνοιγμα του αρχείου για προβολή
Συγγραφή του σεναρίου Μέρος 5: Άνοιγμα του αρχείου για προβολή

Το σενάριο θα σταματήσει σε αυτό το σημείο μέχρι κάποιος να κάνει κλικ στο αναδυόμενο παράθυρο. Μόλις ξεπεράσετε το αναδυόμενο παράθυρο, μπορείτε να βάλετε μια γραμμή που ανοίγει το αρχείο. Χρησιμοποιώντας κάποια διόρθωση σφαλμάτων σε αυτό βοηθά να διατηρείται το πρόγραμμα σε καλή κατάσταση. Όταν δημιουργείτε ένα σφάλμα στο vbscript, προσθέτει μια τιμή στη μεταβλητή "err.number", η οποία είναι μια προκαθορισμένη μεταβλητή στο vbscript. Δεν χρειάζεται να το ορίσετε και μπορείτε να το χρησιμοποιήσετε όπως κάθε άλλη μεταβλητή, αρκεί να μην παραβιάσετε τους κανόνες της. Η τιμή που εκχωρείται στη μεταβλητή err.number είναι ο κωδικός για το σφάλμα που προέκυψε. Τώρα μπορείτε είτε να ελέγξετε για κάθε κωδικό σφάλματος που είναι γνωστός στη βάση δεδομένων vbscript και να βεβαιωθείτε ότι δεν συνέβη. Easier πιο εύκολο, είναι απλώς ο έλεγχος για να βεβαιωθείτε ότι η μεταβλητή err.number είναι κενή. αν είναι άδειο δεν προέκυψαν σφάλματα. Για να το κάνουμε αυτό, απλώς ελέγχουμε να δούμε αν η μεταβλητή είναι ίση με vbEmpty. Έτσι, στο σενάριό μας θέλουμε να χρησιμοποιήσουμε μια άλλη πρόταση τότε. Και ελέγξτε για να δείτε εάν προέκυψε σφάλμα και αν δεν άνοιξε το αρχείο για προβολή, αλλά αν εμφανίστηκε τότε εμφανίζεται ένα μήνυμα με τον αριθμό σφάλματος, ώστε να μπορούμε να κάνουμε εντοπισμό σφαλμάτων. Στη συνέχεια, όταν τελειώσουμε με το σενάριό μας, πληκτρολογήστε Wscript. Κλείστε. Αυτό λέει στο σενάριο να τερματιστεί. Αυτό βοηθά στη διατήρηση των διαρροών μνήμης και των ανεπιθύμητων διαδικασιών που εκτελούνται. Πώς χρησιμοποιείται: εάν ο αριθμός είναι ίσος με vbEempty, δημιουργήστε ένα κέλυφος, στη συνέχεια, εκτελέστε το πρόγραμμα από το κέλυφος errorIf err.number = vbEmpty τότε'αν κανείς δεν δημιουργήσει ένα κέλυφος Ορίστε objShell = CreateObject ("WScript. Shell") 'και στη συνέχεια ανοίξτε το αρχείο από αυτό το κέλυφος χρησιμοποιώντας τον εξερευνητή. θα ανοίξει πραγματικά στο IE αν και objShell.run ("Explorer" & "" & strDir & "\ shutdown_catcher.txt") 'αλλιώς εμφανίζει ένα μήνυμα με τον αριθμό σφάλματοςElse WScript.echo "VBScript Error:" & err.numberEnd If 'end scriptWscript.quit

Βήμα 11: Εκτέλεση του σεναρίου κατά την εκκίνηση

Λήψη του σεναρίου για εκτέλεση κατά την εκκίνηση
Λήψη του σεναρίου για εκτέλεση κατά την εκκίνηση

Υπάρχει ένας φάκελος αρχείων στο μενού έναρξης που ονομάζεται Εκκίνηση. Οτιδήποτε τοποθετηθεί σε αυτόν το φάκελο θα ξεκινήσει μόλις ξεκινήσει ο υπολογιστής. Τοποθετώντας το αρχείο δέσμης ενεργειών στο φάκελο εκκίνησης, θα εκτελείται κάθε φορά που γίνεται επανεκκίνηση του υπολογιστή είτε εκ προθέσεως είτε όχι. Δεδομένου ότι το χρησιμοποιώ μόνο ως διαγνωστικό εργαλείο, δεν χρειάζεται να γίνει υπηρεσία για να ξεκινήσει και δεν χρειάζεται να το βάλω στο μητρώο για να το ξεκινήσω, οπότε αυτό θα είναι εντάξει. Μόλις διορθώσω τον υπολογιστή, μπορώ να διαγράψω το αρχείο από το φάκελο εκκίνησης και δεν απαιτείται άλλη εκκαθάριση.

Βήμα 12: Εκτέλεση του προγράμματος

Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος
Εκτέλεση του Προγράμματος

Όταν εκτελείτε το αρχείο vbscript θα είναι τώρα A.) Ελέγξτε αν υπάρχει ο φάκελος C: / Catcher και αν δεν τον δημιουργείτε. Β:) Ελέγξτε αν υπάρχει το αρχείο Shutdown_catcher.txt και αν δεν το δημιουργείτε. C:) Εάν δημιούργησε είτε έναν φάκελο είτε ένα αρχείο ή και τα δύο, θα εμφανιστεί ένα μήνυμα που λέει ότι τα δημιούργησε (Σημείωση: θα πρέπει να το κάνει μόνο κατά την πρώτη εκτέλεση μετά από αυτό θα πρέπει να είναι ήδη εκεί εκτός εάν έχει διαγραφεί, οπότε θα πρέπει να το δείτε μόνο μία φορά ΤοMightσως είναι καλή ιδέα να εκτελέσετε αυτό το σενάριο μία φορά με ελεγχόμενη επανεκκίνηση, ώστε να μπορείτε να παρακάμψετε αυτά τα αναδυόμενα παράθυρα ή να μην γράψετε τίποτα στο αρχείο επειδή δεν παρακάμπτει το δημιουργημένο αναδυόμενο αρχείο.) D:) Γράψτε μια γραμμή στο έγγραφο κειμένου Shutdown_Catcher.txt που λέει ότι ο υπολογιστής τερματίζεται σε μια τέτοια ημερομηνία σε μια τέτοια ώρα. θα δείτε τον κωδικό όπως είναι γραμμένος. Τώρα το μόνο που έχω να κάνω είναι να καθίσω και να περιμένω. Κάθε φορά που κάνει επανεκκίνηση ο υπολογιστής θα έχω ένα αρχείο για αυτό. Στη συνέχεια, μπορώ να αναθεωρήσω την εγγραφή και να δω αν υπάρχει συνέπεια σε αυτήν. Παράδειγμα μπορεί να είναι ότι κάνει επανεκκίνηση κάθε μισή ώρα ή κάνει επανεκκίνηση κάθε φορά που υπάρχει αύξηση ή 45 στο ρολόι. Αυτός δεν είναι ο μόνος τρόπος για να ελέγξω τον υπολογιστή, για να το γνωρίζετε. Έχω επίσης ένα πρόγραμμα συγκριτικής αξιολόγησης για τον έλεγχο των θερμοκρασιών, ώστε να ξέρω πόσο ζεστό είναι όταν κλείνει, τάση, ώστε να ξέρω εάν η παροχή ρεύματος αποτυγχάνει και μερικά άλλα χρήσιμα πράγματα. Λοιπόν ελπίζω ότι αυτό ήταν χρήσιμο. Ξέρω ότι το απολαμβάνω, ίσως και άλλοι. Αν έχετε οποιαδήποτε απορία μη διστάσετε να ρωτήσετε. Μπορεί να μην φτάσω αμέσως σε αυτά, αλλά με λίγη ώρα και θα σας απαντήσω. Εξαρτάται από το πώς είναι η μέρα/η εβδομάδα μου.

Βήμα 13: Ο κώδικας

Ο κώδικας
Ο κώδικας

Αυτός είναι ο κώδικας όπως γράφτηκε χωρίς όλες τις υποδείξεις και παρατηρήσεις_Option ExplicitDim objFiSyOb, objSysFold, objShell, objFile, objTextFileDim strDir, strFile, strFileNamestrDir = "C: / Catcher" strFile = "\ Shutdown_catcher." Const forReading = 1, forWriting = 2, ForAppend = 8Set objFiSyOb = CreateObject ("Scripting. FileSystemObject") If objFiSyOb. FolderExists (strDir) Στη συνέχεια, ορίστε objSysFold = objFiSyOb. GetFolder (strDjirFoyFolder) objFiSyOb. FileExists (strDir & strFile) Στη συνέχεια ορίστε objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSyOb. CreateTextFile (strDir & strFile) Wscript. Echo ("Και έχουμε δημιουργήσει ένα φάκελο με όνομα" & "& strFilename &" και το τοποθετήσατε στον κατάλογο "& strDir & strFile &". ") Τερματίστε IfEnd IfIf objFiSyOb. FileExists (strDir & strFile) Στη συνέχεια ορίστε objSysFold = objFiSyOb. GetFolder (strDir) Else Set objFile = objFiSy strDir & strFile) Wscript. Echo ("Έχουμε δημιούργησε ένα αρχείο με το όνομα "& strFileName &" στο φάκελο "& strDir &". ") Τέλος Ifset objFile = nothingset objSysFold = nothingSet objTextFile = objFiSyOb. OpenTextFile (strDir & strFile, ForAppending, True) objTextFile. You Τερματίστε τη λειτουργία "& date &" at "& time) objTextFile. CloseWscript. Echo (" Ο υπολογιστής σας κλείνει "& ημερομηνία &" στις "& ώρα) Shell ") objShell.run (" Explorer "&" "& strDir &" / shutdown_catcher.txt ") Διαφορετικά WScript.echo" VBScript Error: "& err.numberEnd IfWScript. Quit

Συνιστάται: