Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> sistemi >> Windows 7 >> .

Puoi avere un file batch in esecuzione che continua in un altro ma lo stesso punto di prima di spostare Windows 7?

No, un file batch non può riprendere direttamente l'esecuzione dallo stesso punto in un altro file batch dopo un riavvio o arresto del sistema Windows 7. I file batch non sono progettati per questo tipo di persistenza di stato. Sono interpretati Line per linea ogni volta che corrono.

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