Windows espera comando até uma hora do sistema

3

Eu fiz um script em lote para backup recentemente. Em algum lugar no meio do roteiro, terei que esperar algum tempo para ser alcançado e então retomar a próxima linha do script. Eu agendei o script às 16:00 e após o comando wait a próxima linha deve começar exatamente às 17:30. Pensei em usar o comando SLEEP , mas não tenho certeza se os comandos usados antes do comando wait acabarão em determinado momento (devido a tamanhos de arquivo inconsistentes), mas com certeza eles serão feitos às 5:00 ou 5:10 e Em seguida, deve executar o comando wait, que aguarda o relógio do sistema. Estou verificando se existe algum comando que aguarde ou durma até que o horário especificado atinja a hora do sistema e continue aí depois. Alguém se deparou com esta situação e como isso foi resolvido?

    
por user53864 29.01.2011 / 07:43

3 respostas

2

Provavelmente não é a melhor maneira de fazer isso, mas aqui vai:

:loop
if %TIME% LSS 17:30:00.00 goto loop
echo Continuing at %TIME%
    
por 29.01.2011 / 09:58
2

Você está usando duas tags, WinXP e Server-2008-R2, por isso não tenho certeza de qual ambiente está sendo executado.

Ambos os ambientes têm um comando chamado schtasks , que permite configurar tarefas agendadas a partir da linha de comando, embora os recursos dessa ferramenta variem com a plataforma. Ele permitirá que você configure uma tarefa única que chamará o restante do seu script. Terá que estar em um arquivo separado, mas será executado uma única vez às 17h30.

Sintaxe do XP: link

Sintaxe do Server-2008: link

    
por 29.01.2011 / 08:23
0

Eu não sei sobre qualquer comando para esperar por um tempo específico, mas você pode encontrar alguns pesquisando por ele. Resolvemos problemas semelhantes cortando os arquivos em lote em partes separadas e agendando-as individualmente.

    
por 29.01.2011 / 09:31