2015-06-05 26 views

risposta

0

Prova questo: ping 1.1.1.1 -n 1 -w 250> nul 250 è il tempo in ms.

+0

Per chiarire qui: L'indirizzo deve essere eseguito il ping non devono rispondere, altrimenti il ​​parametro '-w' non si applica. – Joey

+2

'ping' usato in questo modo sospende un minimo di 500ms. L'utilizzo di qualsiasi valore inferiore a 500 produce ancora una pausa di mezzo secondo. – rojo

+0

@rojo: Buono a sapersi, grazie! – MichaelS

2

TIMEOUT funziona solo con incrementi di interi secondi.

Esistono altri eseguibili di "sospensione" di terze parti che è possibile scaricare.

In alternativa, è possibile utilizzare il metodo Sleep in VBScript. Accetta valori come millisecondi. Ecco un semplice esempio (salvarlo SLEEP.VBS o qualsiasi altro nome che volete):

ms = WScript.Arguments(0) 
WScript.Sleep ms 

Poi, nel file batch chiamare in questo modo per un secondo di ritardo 0.5:

CSCRIPT SLEEP.VBS 500 
1

See this question per un po ' informazioni utili Per riassumere, usare ping per mettere in pausa è limitato a 500 ms o superiore. Non sarai in grado di mettere in pausa per 250ms. La soluzione migliore è utilizzare Windows Scripting Host - VB Script o JScript.

È possibile eseguire questa operazione con un batch/JScript hybrid per evitare di dover chiamare uno script VBS esterno. Salva questo esempio con un'estensione .bat e provalo.

@if (@CodeSection == @Batch) @then 

@echo off 
setlocal 

for /L %%I in (10,-1,1) do (
    set /P "=%%I... "<NUL 
    call :pause 250 
) 

echo Done. 
goto :EOF 

:pause <ms> 
cscript /nologo /e:JScript "%~f0" "%~1" 
goto :EOF 

@end // end batch/begin JScript hybrid code 
WSH.Sleep(WSH.Arguments(0));