Sleep per Windows

Sleep in Windows batch file
Eh si, sembra incredibile, ma Windows, da 95 a Vista passando per XP, ME, 2000 ecc non ha un comando sleep di default, qualcosa che possa mettere in pausa l’esecuzione di uno script.

Di soluzioni alternave ne esistono molte, tra cui:

 

PING, questo sconosciuto

Una sintassi inusuale per lo stranoto comando ping:

ping -n %1 127.0.0.1 > NUL 2>&1

Da aggiungere ad un file batch o da chiamare come programma esterno, probabilmete la soluzione piu’ semplice ed efficace, a patto di non avere un personal firewall di mezzo che si intromette.
Se si usa internamente ad un file batch, occorre sostituire il %1 con il numero effettivo di secondi da attendere. Voci ben informate dicono che occorre aggiungere un ulteriore secondo a quelli che si vogliono davvero ottenere. In pratica, per aspettare 5 secondi, devo usare -n 6 come parametro.
Funziona su tutte le versioni di windows, senza compromessi.

 

Script in WSH

Per chi conosce il Windows Scripting Host (c’era un tempo, quello di 95/98, in cui mi dilettavo a fare grandi script di login al dominio con questo linguaggio di scripting agli steroidi per Windows, allora ancora sconosciuto), la sintassi da usare e’ semplice

sleep.vbs:
args = wScript.Arguments.Count
if args <> 1 then
wscript.Echo "usage: " & Wscript.ScriptName & " seconds to sleep" & _
vbCRLF & "Example: " & Wscript.ScriptName & " 10"
wscript.Quit
end if
wscript.sleep wscript.Arguments.Item(0) * 1000

chiamando poi lo script creato con  cscript sleep.vbs 10 all’interno del proprio batch.
Controindicazioni: qualche antivirus potrebbe bloccare l’esecuzione degli script, il programma generalmente sbaglia di un paio di secondi la prima volta che viene chiamato, dato che deve caricare in memoria il runtime del cscript. Le volte successive comunque e’ preciso.

 

Programmi esterni

Di sleep.exe freeware ne esistono in rete a tonnellate, io consiglio questo, dal sito Steel Bytes. Accetta parametri in millisecondi invece che i secondi. Da includere sicuramente nelal propria Admin-toolbox, assieme alle tante altre utility presenti nel sito.

 

Ma la domanda rimane: perche’ a Redmond, dopo piu’ di 10 anni di esperienza, ancora non sanno aspettare?

1 Comments

Leave a Reply