Per simulare questo comportamento, dovresti implementare un approccio diverso:
1. Utilizzando un file temporaneo per tracciare i progressi:
Questo metodo è il più semplice. Il tuo primo file batch scrive il suo stato attuale (ad esempio, il numero di riga che si trova o un marcatore che indica una fase specifica) a un file temporaneo. Il secondo file batch legge quindi questo file per determinare dove riprendere l'esecuzione.
batch `` `
-batch_file_1.bat-
@echo off
Echo Avvio ...> Progress.txt
ECHO ELETTRICA PASSAGGIO 1>> Progress.txt
::... Alcuni comandi ...
ECHO ELETTRICA PASSAGGIO 2>> Progress.txt
::... altri comandi ...
Passaggio di elaborazione Echo 3>> Progress.txt
::... Ancora più comandi ...
Echo ha finito>> progresso.txt
Del Progress.txt
-batch_file_2.bat-
@echo off
Se esistono progress.txt (
per /f "token =*" %% a in (progress.txt) do (
Echo %% a
::Basato sul contenuto di %% a, determinate da quale parte continuare
Se "%% A" =="Elaborazione Passaggio 2" (
::... riprendi l'elaborazione dal passaggio 2 ...
)
)
Del Progress.txt
) altro (
Echo nessun file di avanzamento trovato. A partire dall'inizio.
::... inizia dall'inizio ...
)
`` `
2. Utilizzando un linguaggio di scripting più robusto:
Per scenari più complessi o una migliore gestione degli errori, considera di utilizzare un linguaggio di scripting più potente come PowerShell. PowerShell ha meccanismi integrati per salvare e ripristinare lo stato di una sceneggiatura.
3. Database/file system esterno:
Per processi batch estremamente complessi, prendere in considerazione l'utilizzo di un database (come SQLite) o tecniche avanzate di file system per archiviare e gestire le informazioni dello stato in modo più efficiente e affidabile.
Considerazioni importanti:
* Gestione degli errori: Aggiungi una robusta gestione degli errori al tuo script. Cosa dovrebbe accadere se il file temporaneo è corrotto o mancante?
* Blocco file: Se più istanze dei file batch potrebbero essere eseguiti contemporaneamente, è necessario aggiungere meccanismi di blocco dei file per prevenire la corruzione dei dati.
* Complessità: La complessità della soluzione dipenderà da quanto stato deve essere preservato e dalla complessità della logica del file batch.
In breve, non puoi "riprendere" direttamente un file batch come un programma con memoria, ma puoi simulare quel comportamento usando file esterni o un approccio di scripting più sofisticato. Il primo esempio fornisce un'illustrazione di base; Probabilmente dovrai adattarlo in modo significativo a seconda delle tue esigenze specifiche.
sistemi © www.354353.com