Arquivo em lote do Windows 2003 Função Dormir / Esperar [duplicado]

5

Eu tenho um arquivo de lote que é executado como uma tarefa secheduled no Windows Server 2003.

Esse arquivo em lote chama apenas 20 outros batchfiles, um após o outro.

Quando isso é executado, causa um aumento considerável no servidor e uma redução no desempenho.

Eu gostaria de poder adicionar um comando tipo WAIT ou SLEEP entre cada uma das minhas chamadas de arquivo em lote para distribuir um pouco a carga.

Alguém pode lançar alguma luz sobre a maneira mais simples de fazer isso?

    
por Robin Day 02.10.2009 / 10:14

3 respostas

14

A maneira correta de dormir em um arquivo de lote é usar o Comando timeout , introduzido no Windows 2000 Server e no Windows XP.

Para esperar 30 segundos:

timeout /t 30

O tempo limite será interrompido se o usuário pressionar qualquer tecla; no entanto, o comando também aceita o comutador opcional /nobreak , que efetivamente ignora qualquer coisa que o usuário possa pressionar, exceto um CTRL-C explícito:

timeout /t 30 /nobreak

Além disso, se você não quiser que o comando imprima sua contagem regressiva na tela, poderá redirecionar sua saída para NUL :

timeout /t 30 /nobreak > NUL
    
por 26.09.2012 / 21:37
1

Há um utilitário do kit de recursos W2K3 chamado sleep.exe que você pode usar chamando-o no arquivo em lote e informando quanto tempo deve ser "suspenso" antes de passar para o próximo comando.

Exemplo:

net use X: \ servidor \ compartilhamento / Excluir

dormir 300

net use X: \ server \ share

    
por 02.10.2009 / 12:56
-3

A melhor maneira é usar 'ping', mas você pode encontrar mais formas aqui: link

    
por 17.04.2011 / 00:31