Como posso fechar um programa em, digamos, 60 segundos?
Você pode usar ping
ou timeout
para produzir um atraso.
-
timeout
não está disponível no Windows XP. -
timeout
te dá uma contagem regressiva.
ping
solution
Para matar notepad
após 60 segundos, use o seguinte comando:
ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe
Nota:
- Você precisa de 61 pings, pois há um atraso de 1s entre
ping
s.
Exemplo:
F:\test>time /t && ping 127.0.0.1 -n 61 > nul && taskkill /im notepad.exe && time /t
17:56
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 8084.
17:57
A delay can also be produced by the PING command with a loopback address, there is a delay of 1 second between each consecutive ping. In tests PING consumes less processor time than Sleep.exe or Timeout.exe, this allows other processes to run in the background. The PING command can only be interrupted with Ctrl-C. Source: Clay Calvert (usenet 2001.)
e.g. for a delay of 40 seconds:
PING -n 41 127.0.0.1>nul
Origem tempo limite
timeout
solution
Para matar notepad
após 60 segundos, use o seguinte comando:
timeout /t 60 && taskkill /im notepad.exe
Notas:
-
timeout
não está disponível no Windows XP. -
timeout
está mal implementado. Se você fizer um "timeout 1", ele aguardará até o "próximo segundo", o que poderia ocorrer em 0,1 segundo. Tente fazer "timeout 1" algumas vezes e observe a diferença no atraso. Por 5 segundos ou mais, pode não ser um grande problema, mas por um atraso de 1 segundo funciona mal.
Exemplo:
F:\test>time /t && timeout /t 60 && taskkill /im notepad.exe && time /t
18:07
Waiting for 0 seconds, press a key to continue ...
SUCCESS: Sent termination signal to the process "notepad.exe" with PID 5412.
18:08
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- tempo limite - Atrase a execução por alguns segundos ou minutos, para uso em um arquivo de lote.
- ping - Teste uma conexão de rede - se for bem-sucedido, o ping retornará o endereço IP.
- Como dormir por 5 segundos no prompt de comando do Windows? (ou DOS)