Não, um arquivo em lote não pode retomar diretamente a execução do mesmo ponto em outro arquivo em lote após o reinício ou desligamento do sistema do Windows 7. Os arquivos em lote não foram projetados para esse tipo de persistência do estado. Eles são interpretados linha por linha cada vez que correm.
Para simular esse comportamento, você precisaria implementar uma abordagem diferente:
1. Usando um arquivo temporário para rastrear o progresso: Este método é o mais direto. Seu primeiro arquivo em lote grava seu estado atual (por exemplo, o número da linha em que está ou um marcador indicando um estágio específico) em um arquivo temporário. O segundo arquivo em lote lê esse arquivo para determinar onde retomar a execução.
`` `lote
-batch_file_1.bat-
@echo off
eco começando ...> progresso.txt
Processamento de eco Etapa 1>> Progress.txt
::... alguns comandos ...
Processamento de eco Etapa 2>> Progress.txt
::... mais comandos ...
Processamento de eco Etapa 3>> Progress.txt
::... ainda mais comandos ...
eco terminado>> progresso.txt
del progress.txt
-batch_file_2.bat-
@echo off
se existir progress.txt (
para /f "tokens =*" %% a in (progress.txt) do (
eco %% a
::Com base no conteúdo de %% A, você determina qual parte continua a partir de
Se "%% A" =="Processamento Etapa 2" (
::... retomar o processamento da etapa 2 ...
)
)
del progress.txt
) outro (
eco nenhum arquivo de progresso encontrado. A partir do início.
::... comece do começo ...
)
`` `
2. Usando uma linguagem de script mais robusta: Para cenários mais complexos ou melhor manuseio de erros, considere usar uma linguagem de script mais poderosa, como o PowerShell. Powershell possui mecanismos internos para salvar e restaurar o estado de um script.
3. Banco de dados externo/sistema de arquivos: Para processos de lote extremamente complexos, considere o uso de um banco de dados (como o SQLite) ou as técnicas avançadas do sistema de arquivos para armazenar e gerenciar as informações do estado com mais eficiência e confiabilidade.
Considerações importantes: *
Manuseio de erro: Adicione o manuseio robusto de erros ao seu script. O que deve acontecer se o arquivo temporário estiver corrompido ou ausente?
*
Bloqueio de arquivo: Se várias instâncias de seus arquivos em lote puderem funcionar simultaneamente, você precisará adicionar mecanismos de travamento de arquivos para evitar a corrupção de dados.
*
Complexidade: A complexidade da solução dependerá de quanto estado precisa ser preservado e da complexidade da lógica do seu arquivo em lote.
Em resumo, você não pode "retomar" diretamente um arquivo em lote como um programa com memória, mas pode simular esse comportamento usando arquivos externos ou uma abordagem de script mais sofisticada. O primeiro exemplo fornece uma ilustração básica; Você provavelmente precisará adaptá -lo significativamente, dependendo de suas necessidades específicas.