Como posso fechar um programa em, digamos, 60 segundos?
Você pode usar ping ou timeout para produzir um atraso.
-
timeoutnão está disponível no Windows XP. -
timeoutte 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
pings.
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:
-
timeoutnão está disponível no Windows XP. -
timeoutestá 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)