Lo strumento Snipping di Windows può catturare lo schermo, ma a volte voglio catturare lo schermo dopo cinque secondi, come prendere un'immagine visualizzata dalla webcam. (Esegui lo script e sorridi alla telecamera, per esempio).
Come faccio a dormire per 5 secondi in un file batch?
Un trucco è quello di usare (male) il comando ping:
ping 127.0.0.1 -n 6 > nul
Spiegazione:
ping
è un'utilità di sistema che invia richieste di ping. ping
è disponibile su tutte le versioni di Windows.127.0.0.1
è l'indirizzo IP di localhost. Questo indirizzo IP è garantito per risolvere sempre, essere raggiungibile, e rispondere immediatamente ai ping.-n 6
specifica che ci saranno 6 pings. C'è un ritardo di 1s tra ogni ping, quindi per un ritardo di 5s è necessario inviare 6 ping.> nul
sopprime l'output di ping
, reindirizzandolo a nul
.Il seguente hack ti permette di dormire per 5 secondi
ping -n 6 127.0.0.1 > nul
Poiché ping attende un secondo tra i ping, dovete specificare uno in più di quello che vi serve.
Potete usare VBScript, per esempio il file myscript.vbs
:
set wsobject = wscript.createobject("wscript.shell")
do while 1=1
wsobject.run "SnippingTool.exe",0,TRUE
wscript.sleep 3000
loop
File batch:
cscript myscript.vbs %1