Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Podobný efekt však môžete dosiahnuť pomocou techník na správu stavu spracovania súborov * externe * do dávkového súboru. Tu je niekoľko prístupov:
1. Pomocou dočasného súboru na sledovanie pokroku:
Táto metóda zahŕňa vytvorenie dočasného súboru, ktorý ukladá poslednú spracovanú položku alebo číslo riadku. Dávkový súbor číta tento súbor na začiatku, aby určil, kde sa má obnoviť.
`` `dávka
@cho vypnuté
Nastavte "TempFile =Progress.tmp"
SET "InputFile =your_input_file.txt"
::Skontrolujte, či existuje súbor pokroku. Ak nie, začnite od začiatku.
ak existuje „%tempfile%“ (
set /p "LastProcessedLine =" <"%Tempfile%"
Echo obnovujúca sa z riadku:%Posledné spracovanie %
) inak (
Nastavte „LastProcessedLine =0“
echo od začiatku
)
::Spracujte súbor, počnúc z posledného spracovaného riadku.
pre /f "skip =%last -ProcecessedLine%delims =" %% A in (%inputFile%) do (
Echo spracovacia čiara:%% a
::Vaša logika spracovania tu ...
::Aktualizujte súbor postupu pomocou aktuálneho čísla riadku.
Echo %% A> "%Tempfile%"
)
del "%tempfile%"
Echo skončila!
`` `
2. Pomocou databázy (zložitejšie, ale robustnejšie):
Pre zložitejšie scenáre alebo veľké súbory údajov by bola vhodnejšia malá databáza (napríklad SQLite). Dávkový súbor by aktualizoval databázu informáciami o pokroku. To ponúka lepšiu odolnosť a sledovanie. Tento prístup si vyžaduje inštaláciu SQLite a používanie jeho nástrojov príkazového riadku vo vašom dávkovom skripte.
3. Modifikácia vstupného súboru:
Je to menej elegantné, ale môže pracovať pre jednoduché prípady. Môžete upraviť samotný vstupný súbor tak, aby označil spracované riadky (napr. Pridať marker na začiatok každého riadku). Skript potom preskočí riadky značkou. Je to menej robustné, pretože priamo mení vstupný súbor.
Dôležité úvahy:
* Manipulácia s chybami: Pridajte do svojich dávkových súborov spracovanie chýb (napr. `IF CHYPLEVELEL 1 ...`). Ak zlyhá spracovanie, váš súbor Progress môže byť nekonzistentný.
* Atomicity: Ak píšete do súborov, zvážte potenciálne problémy s čiastočnými zápismi z dôvodu prerušenia. Použite techniky na zabezpečenie integrity údajov.
* zamykanie súborov: Ak sa môže spustiť viacero inštancií dávkového súboru súbežne, implementujte blokovanie súborov, aby sa zabránilo závodným podmienkam.
Nezabudnite nahradiť „your_input_file.txt“ `so skutočným názvom vášho vstupného súboru. Postupný príklad ukazuje spracovateľskú čiaru po riadku, ale môžete ju prispôsobiť spracovaniu iných dátových štruktúr. Vyberte metódu, ktorá najlepšie vyhovuje vašim potrebám a zložitosti. Dočasný prístup k súboru je najjednoduchší pre jednoduché prípady. Pre čokoľvek, čo je viac zapojené, je databáza oveľa robustnejším riešením.