Como executar comandos em intervalos reduzidos

Em Windows

No windows, para executar comandos em intervalos reduzidos podemos usar a seguinte rotina num ficheiro de extensão .bat:

Este código implementa um ciclo infinito onde é executado um comando (terceira linha) para logo de seguida aguardar um segundo, com o comando sleep.

Mais detalhadamente, a primeira linha suprime a prompt da linha de comandos, o comando a executar está na terceira linha, na quarta linha o sleep atrasa a execução um segundo, e na última linha tem uma indicação para voltar à etiqueta loop definida na segunda linha.

Esta solução deverá funcionar com o Windows XP quando o comando sleep está disponível.

Quando o comando sleep não está disponível surge a seguinte mensagem de erro:

‘sleep’ is not recognized as an internal or external command, operable program or batch file.

Como alternativa pode-se substituir o sleep pelo seguinte comando:

O parâmetro “-w” do comando ping indica o tempo em milissegundos.

Em outras versões do Windows também existe o comando timeout.

 

Em Unix

Em unix podemos executar a mesma operação com o comando watch.

O parâmetro “-n”  define os segundos que se pretende aguardar até à próxima execução, entre aspas seguem-se os comandos que pretendemos executar.

 

Referências

Echo, Windows XP Professional Product Documentation

Timeout, Management and Tools for Windows Server 2012

How to sleep for 5 seconds in Windows’s Command Prompt? (or DOS), StackOverflow

watch, Linux man page

Timeout, Management and Tools for Windows Server 2012