Συνιστάται, 2024

Επιλογή Συντάκτη

Η επιδιόρθωση της προγραμματισμένης εργασίας δεν θα εκτελεστεί για το αρχείο .BAT

Εάν έχετε ένα αρχείο .BAT και προσπαθείτε να το εκτελέσετε αυτόματα χρησιμοποιώντας το Task Scheduler στα Windows, ενδέχεται να έχετε αντιμετωπίσει το ζήτημα όπου απλά δεν εκτελείται εκτός αν εκτελέσετε με μη αυτόματο τρόπο την εργασία.

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

Σε αυτό το άρθρο, θα σας καθοδηγήσω στις ρυθμίσεις και τις άδειες που χρειάζεστε για να ρυθμίσετε, προκειμένου να εκτελεστεί το αρχείο δέσμης χωρίς χειροκίνητη παρέμβαση.

Βήμα 1: Ελέγξτε τα δικαιώματα αρχείων / φακέλων

Το πρώτο βήμα για την επίλυση αυτού του ζητήματος είναι να διασφαλιστεί ότι ο λογαριασμός που χρησιμοποιείτε για να εκτελέσετε τη δέσμη ενεργειών στο Task Scheduler έχει δικαιώματα πλήρους ελέγχου στο φάκελο που περιέχει το σενάριο, το ίδιο το σενάριο και τους φακέλους / αρχεία που αγγίζει το σενάριο όταν εκτελείται.

Για παράδειγμα, δημιούργησα το ακόλουθο σενάριο παρτίδας παρακάτω:

 ("dir / b") κάνουμε (rmdir "%% i" / s / q || del "% s) % i "/ s / q) 

Αποθήκευσα το αρχείο .BAT στο φάκελο "Έγγραφα". Η διαδρομή είναι C: \ Users \ username \ Documents . Πήγα στο C: \ Users \ username, με δεξί κλικ στο φάκελο Documents και κάνοντας κλικ στο Properties . Στη συνέχεια, έκανα κλικ στην καρτέλα Ασφάλεια .

Όπως μπορείτε να δείτε, ο λογαριασμός χρήστη Aseem έχει προστεθεί ρητά και έχει δοθεί το δικαίωμα πλήρους ελέγχου . Τώρα πρέπει να κάνετε το ίδιο πράγμα για το φάκελο που περιέχει το σενάριο και για το ίδιο το σενάριο. Μην υποθέτετε απλώς ότι εάν δώσετε δικαιώματα στο φάκελο που περιέχει το σενάριο, είστε καλό να πάτε, επειδή δεν είστε. Τέλος, ορίστε δικαιώματα σε όλα τα αρχεία και τους φακέλους που θα αλληλεπιδράσει το σενάριο.

Στην περίπτωσή μου, έπρεπε να πάω στο C: \ test, κάντε δεξί κλικ σε εκείνο το φάκελο και προσθέστε τον λογαριασμό μου εκεί με δικαιώματα ελέγχου πλήρους ελέγχου. Είναι κάτι ενοχλητικό που πρέπει να το κάνετε αυτό, αλλά είναι ο μόνος τρόπος για να εκτελέσετε το σενάριο.

Σημείωση : Ο λογαριασμός που χρησιμοποιείται για την εκτέλεση της δέσμης ενεργειών πρέπει να είναι μέρος της τοπικής ομάδας Administrators στον υπολογιστή. Στην περίπτωσή μου, ο λογαριασμός Aseem είναι ένας λογαριασμός διαχειριστή και ως εκ τούτου μέρος της τοπικής ομάδας διαχειριστών.

Βήμα 2: Ελέγξτε τις Ρυθμίσεις του Χρονοδιαγράμματος εργασιών

Τώρα ας πάμε στο Task Scheduler και να αλλάξουμε τις κατάλληλες ρυθμίσεις εκεί. Ανοίξτε το Χρονοδιάγραμμα εργασιών και βρείτε την εργασία σας στην ενότητα Ενεργές εργασίες . Πρέπει να παρατίθενται με αλφαβητική σειρά.

Κάντε διπλό κλικ σε αυτό και θα ανοίξει την εργασία από μόνο του στο ίδιο παράθυρο. Για να επεξεργαστείτε την εργασία, θα πρέπει να κάνετε δεξί κλικ σε αυτήν και να επιλέξετε Ιδιότητες .

Υπάρχουν αρκετές καρτέλες και μερικά πράγματα πρέπει να ελεγχθούν και να αλλάξουν εδώ. Πρώτον, στην καρτέλα Γενικά, πρέπει να ελέγξετε τον λογαριασμό χρήστη που χρησιμοποιείται για την εκτέλεση της εργασίας. Στην περίπτωσή μου, είναι ο λογαριασμός Aseem, τον οποίο είχα δώσει προηγούμενα δικαιώματα στο σύστημα αρχείων και ο οποίος είναι μέλος της ομάδας Administrators στον υπολογιστή.

Στη συνέχεια, πρέπει να επιλέξετε το στοιχείο Εκτέλεση εάν ο χρήστης είναι συνδεδεμένος ή όχι και επιλέξτε Windows Vista, Windows Server 2008 στο πλαίσιο Ρύθμιση για .

Στην καρτέλα " Ενέργειες ", πρέπει να επιλέξετε τη δέσμη ενεργειών, να κάνετε κλικ στην επιλογή Επεξεργασία και, στη συνέχεια, να προσθέσετε τη διαδρομή στον φάκελο που περιέχει το σενάριο στο πλαίσιο " Έναρξη" (προαιρετικό) . Αυτό μπορεί να φαίνεται περιττό, αλλά δεν είναι. Στην περίπτωσή μου, έβαλα στο πλαίσιο : C: \ Users \ Aseem \ Documents \ .

Τώρα κάντε κλικ στο OK για να αποθηκεύσετε τις ρυθμίσεις. Όταν το κάνετε αυτό, μπορεί να εμφανιστεί ένα παράθυρο διαλόγου όπου πρέπει να εισαγάγετε τον κωδικό πρόσβασης για το λογαριασμό χρήστη που θα εκτελέσει την εργασία. Αυτό δημιουργεί μια άλλη απαίτηση. Δεν μπορείτε να χρησιμοποιήσετε έναν λογαριασμό που δεν διαθέτει κωδικό πρόσβασης. Ο λογαριασμός χρήστη πρέπει να έχει έναν κωδικό πρόσβασης για την εκτέλεση της εργασίας.

Τέλος, πρέπει να εκτελέσετε τη λειτουργία χειροκίνητα μία φορά στο Task Scheduler για να βεβαιωθείτε ότι εκτελείται. Εάν λειτουργεί σωστά με το χέρι μετά την αλλαγή όλων των ρυθμίσεων, τότε θα πρέπει να εκτελείται όταν υποτίθεται ότι ενεργοποιείται. Στην περίπτωσή μου, έπρεπε να συμβεί κατά την εκκίνηση και αφού έκανα τις αλλαγές, όλα πάνε καλά.

Σημειώστε ότι εάν η δέσμη ενεργειών σας έχει πρόσβαση σε διαφορετικούς υπολογιστές σε έναν τομέα κατά την εκτέλεση, θα πρέπει να προσπαθήσετε να χρησιμοποιήσετε το λογαριασμό διαχειριστή τομέα για να εκτελέσετε την εργασία. Αυτό θα διασφαλίσει ότι ο λογαριασμός διαθέτει αρκετά δικαιώματα πρόσβασης στους απομακρυσμένους υπολογιστές.

Ένα άλλο στοιχείο που πρέπει να σημειώσετε είναι αν η δέσμη ενεργειών σας έχει πρόσβαση σε πόρους σε ένα κοινόχρηστο στοιχείο δικτύου. Εάν το σενάριό σας χρησιμοποιεί γράμματα για πρόσβαση στο δίκτυο, ενδέχεται να μην εκτελείται. Για παράδειγμα, αντί να χρησιμοποιήσετε F: \ data \, θα πρέπει να χρησιμοποιήσετε \\ machinename \ share_name \ data \ στο script. Αν εξακολουθείτε να μην μπορείτε να εκτελέσετε το σενάριο σας, δημοσιεύστε ένα σχόλιο εδώ και θα προσπαθήσω να βοηθήσω. Απολαμβάνω!

Top