Για να προσομοιώσετε αυτή τη συμπεριφορά, θα πρέπει να εφαρμόσετε μια διαφορετική προσέγγιση:
1. Χρησιμοποιώντας ένα προσωρινό αρχείο για την παρακολούθηση της προόδου:
Αυτή η μέθοδος είναι η πιο απλή. Το πρώτο σας αρχείο παρτίδας γράφει την τρέχουσα κατάσταση του (π.χ. ο αριθμός γραμμής που είναι ενεργοποιημένος ή ένας δείκτης που υποδεικνύει ένα συγκεκριμένο στάδιο) σε ένα προσωρινό αρχείο. Το δεύτερο αρχείο παρτίδας διαβάζει στη συνέχεια αυτό το αρχείο για να καθορίσει πού να συνεχιστεί η εκτέλεση.
`` `παρτίδα
-batch_file_1.bat-
@echo off
echo ξεκινώντας ...> progress.txt
Επεξεργασία Echo Βήμα 1>> Progress.txt
::... μερικές εντολές ...
Επεξεργασία Echo Βήμα 2>> Progress.txt
::... περισσότερες εντολές ...
Επεξεργασία Echo Βήμα 3>> Progress.txt
::... ακόμη περισσότερες εντολές ...
echo τελείωσε>> progress.txt
del progress.txt
-batch_file_2.bat-
@echo off
Εάν υπάρχει Progress.txt (
για /f "tokens =*" %% y in (progress.txt) do (
echo %% α
::Με βάση το περιεχόμενο του %% A, καθορίζετε από ποιο μέρος θα συνεχίσετε από
Εάν "%% a" =="Επεξεργασία βήματος 2" (
::... επαναλάβετε την επεξεργασία από το βήμα 2 ...
·
·
del progress.txt
) αλλιώς (
echo Δεν βρέθηκε αρχείο προόδου. Ξεκινώντας από την αρχή.
::... Ξεκινήστε από την αρχή ...
·
`` `
2. Χρησιμοποιώντας μια πιο ισχυρή γλώσσα δέσμης ενεργειών:
Για πιο περίπλοκα σενάρια ή καλύτερο χειρισμό σφαλμάτων, σκεφτείτε να χρησιμοποιήσετε μια πιο ισχυρή γλώσσα scripting όπως το PowerShell. Η PowerShell διαθέτει ενσωματωμένους μηχανισμούς για την εξοικονόμηση και την αποκατάσταση της κατάστασης ενός σεναρίου.
3. Εξωτερική βάση δεδομένων/σύστημα αρχείων:
Για εξαιρετικά πολύπλοκες διαδικασίες παρτίδας, εξετάστε τη χρήση μιας βάσης δεδομένων (όπως το SQLite) ή τις προηγμένες τεχνικές συστήματος αρχείων για την αποθήκευση και τη διαχείριση των πληροφοριών του κράτους πιο αποτελεσματικά και αξιόπιστα.
Σημαντικές εκτιμήσεις:
* Χειρισμός σφαλμάτων: Προσθέστε ισχυρό χειρισμό σφαλμάτων στο σενάριο σας. Τι πρέπει να συμβεί εάν το προσωρινό αρχείο είναι κατεστραμμένο ή λείπει;
* Κλείδωμα αρχείων: Εάν πολλαπλές περιπτώσεις των αρχείων σας μπορεί να εκτελεστούν ταυτόχρονα, πρέπει να προσθέσετε μηχανισμούς κλειδώματος αρχείων για να αποφύγετε τη διαφθορά των δεδομένων.
* πολυπλοκότητα: Η πολυπλοκότητα της λύσης θα εξαρτηθεί από το πόσο η κατάσταση πρέπει να διατηρηθεί και η πολυπλοκότητα της λογικής του αρχείου παρτίδας σας.
Εν ολίγοις, δεν μπορείτε απευθείας να "επαναλάβετε" ένα αρχείο παρτίδας σαν ένα πρόγραμμα με μνήμη, αλλά μπορείτε να προσομοιώσετε αυτή τη συμπεριφορά χρησιμοποιώντας εξωτερικά αρχεία ή μια πιο εξελιγμένη προσέγγιση δέσμης ενεργειών. Το πρώτο παράδειγμα παρέχει μια βασική εικόνα. Πιθανότατα θα χρειαστεί να το προσαρμόσετε σημαντικά ανάλογα με τις συγκεκριμένες ανάγκες σας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα