Como faço para criar um timer de arquivo de lote para executar / chamar outro lote ao longo do dia

Como faço para criar um timer de arquivo de lote para executar / chamar outro lote durante o dia Talvez em determinados horários para executar, mas não para executar nos finais de semana? Deve executar nos tempos do sistema também pode ser. Cmd para rodar no servidor xp 2003

Para a parte do timer do seu script eu recomendo usar:

echo. echo Waiting For One Hour... TIMEOUT /T 3600 /NOBREAK echo. echo (Put some Other Processes Here) echo. pause >nul 

Esse script aguarda 1 hora (3600 segundos) e, em seguida, continua com o script e o usuário não pode pressionar nenhum botão para ignorar o timer (além de CTRL + C).

Você pode usar

 Timeout /t 3600 /nobreak >nul 

Se você não quiser ver uma contagem regressiva na canvas.

Eu usaria o agendador (painel de controle) em vez de uma linha cmd ou outro aplicativo.

Painel de Controle -> Tarefas Agendadas

Abaixo está um arquivo em lotes que aguardará 1 minuto, verificará o dia e executará uma ação. Ele usa o PING.EXE, mas não requer arquivos que não estejam incluídos no Windows.

 @ECHO OFF :LOOP ECHO Waiting for 1 minute... PING -n 60 127.0.0.1>nul IF %DATE:~0,3%==Mon CALL SomeOtherFile.cmd IF %DATE:~0,3%==Tue CALL SomeOtherFile.cmd IF %DATE:~0,3%==Wed CALL SomeOtherFile.cmd IF %DATE:~0,3%==Thu CALL WootSomeOtherFile.cmd IF %DATE:~0,3%==Fri CALL SomeOtherFile.cmd IF %DATE:~0,3%==Sat ECHO Saturday...nothing to do. IF %DATE:~0,3%==Sun ECHO Sunday...nothing to do. GOTO LOOP 

Pode ser melhorado de muitas maneiras, mas pode começar.

O comando AT faria isso, mas é para isso que serve a GUI das Tarefas Agendadas. Digite “help at” em uma janela cmd para detalhes.

Eu fiz isso escrevendo um pequeno aplicativo C # que apenas acorda para iniciar tarefas periódicas – não sei se é possível de um arquivo de lote sem baixar extensões para suportar um comando sleep. (Para os meus propósitos, o agendador do Windows não funcionava porque os aplicativos lançados não tinham contexto gráfico disponível.)

 @echo off :Start title timer color EC echo Type in an amount of time (Seconds) set /p time= color CE :loop cls ping localhost -n 2 >nul set /a time=%time%-1 echo %time% if %time% EQU 0 goto Timesup goto loop :Timesup title Time Is Up! ping localhost -n 2 >nul ping localhost -n 2 >nul cls echo The Time is up! pause cls echo Thank you for using this software. pause goto Web goto Exit :Web rem type ur command here :Exit Exit goto Exit 
 @echo off :Start # seting a ponter title timer #name the cmd window to "Timer" echo Type in an amount of time (Seconds) set /p A= #wating for input from user set B=1 cls :loop ping localhost -n 2 >nul #pinging your self for 1 second set /AA=AB #sets the value A - 1 echo %A% # printing A if %A% EQU 0 goto Timesup #if A = 0 go to ponter Timesup eles loop it goto loop :Timesup #ponter Timesup cls #clear the screen MSG * /v "time Is Up!" #makes a pop up saying "time Is Up!" goto Exit #go to exit :Exit 

Você também pode fazer isso>

 @echo off :loop set a=60 set /a a-1 if a GTR 1 ( echo %a% minutes remaining... timeout /t 60 /nobreak >nul goto a ) else if a LSS 1 goto finished :finished ::code ::code ::code pause>nul 

Ou algo assim.

Intereting Posts