Ho dovuto modificare un vecchio script dos (BAT) e avevo bisogno di inserire un’istruzione che attendesse un paio di minuti prima di eseguire le istruzioni successive. Ho risolto con l’istruzione CHOICE. Questa istruzione da un prompt tipo S/N e prosegue alla pressione del tasto. Ha però un parametro utile (/T) che è il tempo di attesa prima di assumere una risposta di default. In pratica dico premi si o no e tra due minuti proseguo con Si anche se non mi serve. Il comando è:
CHOICE /T 120 /D S /N
/T è il numero di secondi di attesa
/D è la risposta di default (che va inserita ma non ci serve)
/N nasconde la frase immettere Si o No
Dato che su WindowsXP il comando choice non esiste, si può anche usare:
ping -n 5 127.0.0.1 > nul
/n è il numero di ping (e quindi di secondi di attesa)
>nul non fa vedere l’output del comando
comando di attesa in comando BAT,
Avevo la necessita’ di inserire un ciclo di attesa di 20 secondi in un file batch.
Sotto Windows 7 ho usato questo e funziona:
timeout /T 20 /NOBREAK >NUL
Pero’ non tutte le versioni di DOS supportano il comando timeout, cosi’ ho provato i due comandi suggeriti da Simone Alfonsi e funzionano alla grande!!
Grazie mille
Altra annotazione: avevo bisogno di implementare questo comando per il tempo di attesa su un sistema windows embedded posready 2009.
TIMEOUT e CHOICE sembrano non supportati dalla versione di DOS presente, per cui l’unico comando veramente funzionante in quella configurazione e’ il ping.
Grazie, il comando:
choice /T 10 /D S /N
funziona bene