Διαφήμιση
Εάν κάνετε πολλή δουλειά στα αρχεία παρτίδας των Windows, το Δήλωση IF προσφέρει έναν πολύ ισχυρό τρόπο για να προσθέσετε ευελιξία στα σενάρια σας.
Σε αυτό το άρθρο θα μάθετε τους πέντε κύριους τύπους εντολών IF που μπορείτε να χρησιμοποιήσετε σε ένα αρχείο παρτίδας των Windows, τον τρόπο εμφάνισης της σωστής σύνταξης και ένα ρεαλιστικό παράδειγμα για κάθε ένα.
Εάν είστε έτοιμοι να ξεκινήσετε τη δημιουργία σεναρίων, ας αρχίσουμε!
1. Συγκρίνετε τις τιμές
Ένα από τα βασικά πράγματα που συνήθως θα πρέπει να κάνετε σε ένα σενάριο δέσμης είναι συγκρίνετε δύο τιμές και ακολουθήστε μια διαφορετική πορεία δράσης ανάλογα με τη σύγκριση.
Για παράδειγμα, ας υποθέσουμε ότι θέλετε να γράψετε ένα δέσμη δέσμης ενεργειών που ελέγχει καθημερινά το μέγεθος του σκληρού δίσκου του υπολογιστή σας. Εάν είναι κάτω από 3 GB θέλετε να λάβετε μια αναφορά ηλεκτρονικού ταχυδρομείου που λέει, "Χώρος στο σκληρό δίσκο πολύ χαμηλό."
Για να δημιουργήσετε μια δέσμη ενεργειών που συγκρίνει τον τρέχοντα ελεύθερο χώρο στο σκληρό σας δίσκο με το όριο σας, θα πρέπει να δημιουργήσετε το ακόλουθο σενάριο παρτίδας και να το αποθηκεύσετε ως αρχείο .bat.
@echo off. ορίστε DriveLimit = 300000000. για το / f "usebackq delims == tokens = 2" %% x στο (`wmic logicaldisk όπου" DeviceID = 'C:' 'παίρνει FreeSpace / format: value`) Echo FreeSpace = "% FreeSpace%" Όριο Echo = "% DriveLimit%" Εάν% FreeSpace% GTR% DriveLimit% (Echo Υπάρχει αρκετός ελεύθερος χώρος. ) άλλο (Ηχώ Δεν υπάρχει αρκετός ελεύθερος χώρος. )
Το WMIC είναι το στοιχείο Windows Management Instrumentation των Windows που συνοδεύει μια συλλογή εντολών που μπορείτε να χρησιμοποιήσετε για να τραβήξετε πληροφορίες για το PC. Έτσι, η εντολή "wmic" σε αυτή τη δέσμη ενεργειών ονομάζει το χώρο "logicaldisk" και την τοποθετεί στη μεταβλητή FreeSpace. Τώρα μπορείτε να αντικαταστήσετε τη γραμμή "Echo Not enough free space" με μια εντολή blat email για να σας στείλουμε μια ειδοποίηση.
Τέλος, ορίστε αυτό το σενάριο ως προγραμματισμένη εργασία παράθυρου που εκτελείται καθημερινά.
Εάν δεν έχετε χρησιμοποιήσει ποτέ πριν, έχουμε ένα άρθρο που σας δείχνει πώς να ρυθμίσετε blat. Δεν είστε εξοικειωμένοι με την οργάνωση προγραμματισμένων εργασιών; Σας έχουμε καλύψει με ένα άρθρο πώς να ρυθμίσετε τις προγραμματισμένες εργασίες των Windows 4 Εργασίες που μπορείτε να αυτοματοποιήσετε με τον Χρονοδιακόπτη εργασιών των WindowsΟ χρόνος σας είναι πολύτιμος για να χαθεί με επαναλαμβανόμενα καθήκοντα. Ας δούμε πώς μπορείτε να αυτοματοποιήσετε και να προγραμματίσετε εργασίες. Έχουμε και μερικά υπέροχα παραδείγματα. Διαβάστε περισσότερα .
2. Συγκρίσεις συμβολοσειρών
Μια άλλη πολύτιμη σύγκριση IF που μπορείτε να κάνετε σε μια εργασία παρτίδας είναι συγκρίνοντας χορδές.
Στο παρακάτω παράδειγμα θα δείτε πώς μπορείτε να ελέγξετε την έκδοση των Windows χρησιμοποιώντας μια εργασία παρτίδας. Στη συνέχεια, μπορείτε να το συγκρίνετε με την αναμενόμενη έκδοση των Windows.
Ορισμένες χρήσεις αυτού του σεναρίου θα είναι για τους ελέγχους IT όταν πρέπει να εκτελέσετε γρήγορα μια δέσμη ενεργειών και να βεβαιωθείτε ότι το τρέχον λειτουργικό σύστημα είναι το τελευταίο ή αν χρειάζεται αναβάθμιση.
Δείτε πώς φαίνεται αυτό το σενάριο.
@echo off. για / f "μάρκες = 4-5 delims =. "%% i in ('ver') ορίζει το VERSION = %% i. %% j. αν "% version%" == "6.0" echo Windows Vista. αν "% version%" == "6.1" echo Windows 7. αν "% version%" == "6.2" echo Windows 8. αν "% version%" == "6.3" echo Windows 8.1. αν "% version%" == "10.0" echo Windows 10.
Ακολουθεί το αποτέλεσμα της εμφάνισης αυτής της δέσμης ενεργειών.

Η δυνατότητα σύγκρισης των συμβολοσειρών στην παρτίδα ανοίγει έναν ολόκληρο κατάλογο δυνατοτήτων. Αν εξερευνήσετε όλα τα πληροφορίες που μπορείτε να αποκτήσετε από μια εντολή WMIC θα δείτε πόσα στατιστικά στοιχεία για τον υπολογιστή σας μπορείτε να παρακολουθήσετε. Μπορείτε να χρησιμοποιήσετε προγραμματισμένες εργασίες δέσμης για να ειδοποιήσετε για αυτές.
3. Ελέγξτε εάν υπάρχει ένα αρχείο
Μια άλλη χρήσιμη κατάσταση όπου πρέπει να γίνει μια εντολή IF σε ένα αρχείο δέσμης ελέγξτε για την ύπαρξη ενός αρχείου δεδομένων.
Πολλές φορές η εργασία δέσμης είναι απλά ένα εργαλείο παρακολούθησης που μπορεί να προγραμματιστεί για να ελέγξει για νέα εισερχόμενα αρχεία δεδομένων σε έναν συγκεκριμένο κατάλογο.
Στη συνέχεια, η εργασία δέσμης μπορεί είτε να αντιγράψει αυτό το αρχείο σε μια άλλη θέση όπου μπορεί να επεξεργαστεί είτε να ξεκινήσει κάποια παράθυρα δέσμης ενεργειών που επεξεργάζεται το αρχείο σε μια έξοδο του Excel.
(Έχουμε γράψει στο παρελθόν για το πώς να χρησιμοποιήστε δέσμες ενεργειών των Windows για την επεξεργασία δεδομένων σε ένα αρχείο Excel 5 Χρήσιμα Scripts των Windows για να αυτοματοποιήσετε τη χρήση του υπολογιστή σαςΑπό την παρακολούθηση του ιστοτόπου έως τις αναφορές του συστήματος, μάθετε πώς να αυτοματοποιήσετε όλα τα πράγματα με αυτά τα εκπληκτικά σενάρια VB που μπορείτε να κωδικοποιήσετε στα Windows αυτήν τη στιγμή. Διαβάστε περισσότερα ; κάποια καλή ανάγνωση υποβάθρου.)
Χρησιμοποιώντας ένα αρχείο δέσμης για να ελέγξετε αν υπάρχει ένα αρχείο σε έναν κατάλογο είναι γρήγορο και εύκολο. Ας δούμε πώς φαίνεται αυτό το σενάριο.
@echo off. αν υπάρχει c: \ temp \ datafile.txt (% WINDIR% \ SysWOW64 \ cmd.exe cscript LoadToExcel.vbs. ) else (το αρχείο rem δεν υπάρχει. )
Η σύγκριση IF EXISTS είναι χρήσιμη για πολλά πράγματα.
Για παράδειγμα, αν έχετε τρέξει ένα σύστημα ή μια εφαρμογή που δημιουργεί νέα αρχεία καταγραφής σφαλμάτων σε έναν συγκεκριμένο φάκελο όταν υπάρχει ένα πρόβλημα, μπορείτε να εκτελέσετε μια εργασία παρτίδας κάθε τόσο συχνά για να ελέγξετε αν δημιουργούνται νέα αρχεία καταγραφής σφαλμάτων ώστε να μπορείτε να στείλετε ένα συναγερμός.
4. Ελέγξτε αν μια εντολή απέτυχε
Μια πτυχή του σεναρίου δέσμης αρχείων που χρησιμοποιούν πολύ λίγοι χρήστες IT ή προγραμματιστές είναι Έλεγχος για σφάλματα.
Υπάρχουν πολλές εργασίες παρτίδας που επιπλέουν γύρω εκεί έξω που εκτελούν κρίσιμα καθήκοντα πληροφορικής, όπως η δημιουργία αντιγράφων ασφαλείας σημαντικών αρχείων ή η εκτέλεση αντιγράφων. Όταν αυτές οι εργασίες παρτίδας αποτύχουν, τα συστήματα αποτυγχάνουν και οι άνθρωποι παρατηρούν.
Είναι πολύ πιο έξυπνο να λαμβάνετε μια ειδοποίηση όταν η δουλειά σας σε παρτίδα έχει αποτύχει μια εντολή πριν οι άνθρωποι αρχίζουν να παρατηρούν. Με αυτόν τον τρόπο μπορείτε να διορθώσετε το ζήτημα προληπτικά.
Μπορείτε να το κάνετε αυτό χρησιμοποιώντας τη μεταβλητή% errorlevel% που οι περισσότερες εφαρμογές και εντολές επιστρέφουν μετά την εκτέλεση τους.
Το μόνο που έχετε να κάνετε είναι να ακολουθήσετε την εντολή σας με την εντολή IF% ERRORLEVEL%. Αν η εφαρμογή ή η εντολή επέστρεψε μηδέν, όλα είναι καλά. Αν όχι, τότε πρέπει να στείλετε ένα email.
@echo off. xcopy C: \ somefolder E: \ backupfolder. ΕΑΝ% ERRORLEVEL% NEQ 0
Δεν χρειάζεται να πάρετε τη διαδρομή ηλεκτρονικού ταχυδρομείου. Θα μπορούσατε πάντα να γράψετε ένα αρχείο καταγραφής σφαλμάτων που μπορείτε να ελέγξετε κάθε πρωί ή να ξεκινήσετε μια δεύτερη εφαρμογή ή εντολή που προσπαθεί να κάνει το αντίγραφο χρησιμοποιώντας μια εναλλακτική εντολή. Όποια και αν είναι η ενέργεια που θέλετε να πάρετε, ΕΑΝ% ERRORLEVEL% σας επιτρέπει να το κάνετε.
Εάν προτιμάτε να χρησιμοποιήσετε μια εντολή IF για να ελέγξετε για συγκεκριμένους κωδικούς σφάλματος, τα Windows παρέχουν μια όμορφη εκτενή λίστα κωδικών σφαλμάτων.
5. Ελέγξτε αν υπάρχουν παράμετροι που λείπουν
Η τελευταία χρήσιμη εντολή IF δεν είναι μια συγκεκριμένη εντολή, αλλά αντίθετα να ελέγξει ότι το σενάριο έλαβε τις κατάλληλες παραμέτρους εισόδου.
Για παράδειγμα, ας πούμε ότι έχετε γράψει ένα σενάριο που εκτελεί μια εντολή xcopy από ένα φάκελο εισόδου, σε ένα κοινό φάκελο δικτύου που χρησιμοποιείται από μια ομάδα. Ο χρήστης πρέπει απλώς να ακολουθήσει το όνομα του σεναρίου σας με τις παραμέτρους που καθορίζουν τη δική του διαδρομή αρχείου.
Προφανώς, δεν μπορείτε να εκτελέσετε σωστά το σενάριό σας χωρίς την καθορισμένη διαδρομή, επομένως μπορείτε να βάλετε μια εντολή IF στην αρχή του σεναρίου σας για να βεβαιωθείτε ότι έχουν εισαχθεί και οι δύο παράμετροι.
Δείτε πώς φαίνεται αυτό.
@echo off. ΕΑΝ [% 1] == [] ( GOTO sub_message. ) ELSE ( xcopy% 1 E: \ backupfolder. ) GOTO eof.: sub_message. echo Ξεχάσατε να καθορίσετε την πορεία σας.: eof.
Εάν δεν έχετε χρησιμοποιήσει ποτέ παραμέτρους με δέσμες ενεργειών δέσμης, το σύμβολο% ακολουθούμενο από έναν αριθμό αντιπροσωπεύει τη μεταβλητή παραμέτρων. Το% 1 είναι η πρώτη παράμετρος, το% 2 είναι το δεύτερο και ούτω καθεξής.
Οι παρτίδες εργασίας μπορούν να είναι ισχυρές
Πολλοί άνθρωποι αρχίζουν να χρησιμοποιούν εργασίες δέσμης για απλές εργασίες που πρέπει να εκτελεστούν σε σειρά. Με τις δηλώσεις IF είναι δυνατό να προσθέσετε πολύ περισσότερη νοημοσύνη στα σενάρια σας.
Φυσικά, εάν θέλετε πραγματικά να το εντάξετε σε μια εγκοπή, μπορείτε να εξετάσετε το ενδεχόμενο να ρίξετε μια ματιά στο VBA με τον οδηγό μας δημιουργώντας την πρώτη εφαρμογή VBA, ή ίσως ακόμη μάθετε τον προγραμματισμό της Python.
Μπορείτε να χρησιμοποιείτε συχνά πιο προηγμένες γλώσσες προγραμματισμού όπως αυτές, ή μάθετε να χρησιμοποιείτε το PowerShell 5 λόγοι για να χρησιμοποιήσετε το PowerShell αντί για τη δέσμη ενεργειών δέσμης ενεργειώνΤο PowerShell είναι αυτό που θα λάβατε εάν περάσατε τη Γραμμή εντολών με τη δέσμη ενεργειών δέσμης ενεργειών (Batch Scripting), ρίξατε μερικά επιπλέον χαρακτηριστικά και το κλώτσατε με αρκετές εγκοπές. Ακολουθούν αρκετοί λόγοι για να το δοκιμάσετε. Διαβάστε περισσότερα , για να ολοκληρώσετε πολλές από τις ίδιες εργασίες που χρησιμοποιείτε αυτήν τη στιγμή εργασίες για παρτίδες.
Ο Ryan έχει πτυχίο BSc στην Ηλεκτρολογία. Έχει εργαστεί 13 χρόνια στον τομέα της αυτοματοποίησης, 5 χρόνια στον τομέα της πληροφορικής και τώρα είναι μηχανικός εφαρμογών. Ένας πρώην διευθυντής διαχείρισης του MakeUseOf, μίλησε σε εθνικά συνέδρια για την οπτικοποίηση δεδομένων και παρουσιάστηκε στην εθνική τηλεόραση και το ραδιόφωνο.