batch-file
Vertraging toevoegen aan batchbestand
Zoeken…
Invoering
In dit onderwerp leert u een van de vele nuttige dingen die u moet weten in de scripttaal batchbestand; Een vertraging / pauze / time-out toevoegen aan uw batchbestand.
Time-out
Time-out
De eenvoudigste manier om een bepaalde tijd uit te stellen of te pauzeren, is met het standaardcommando TIMEOUT
. Om een time-out te maken die precies een minuut duurt, typen we:
timeout /t 60
Wat is hier aan de hand?
Eerst gebruiken we het commando TIMEOUT
met de parameter /T
(wat simpelweg time-out betekent) en vervolgens specificeren we het aantal seconden om te wachten. In dit geval ... 60
seconden.
Time-out met de parameter / NOBREAK
Als we het voorbeeld van eerder nemen en dat uitvoeren in een BATCH-bestand: timeout /t 60
dan kunt u, terwijl u die 60 seconden wacht, de time-out daadwerkelijk verbreken door op een willekeurige toets op uw toetsenbord te drukken. Om dit te voorkomen voegen we eenvoudig de parameter /NOBREAK
aan het einde ervan.
timeout /t 60 /nobreak
Als u dit doet, zal er een time-out van 60 seconden optreden en als u de time-out wilt verbreken, moet u op (CTRL-C) op uw toetsenbord drukken.
Stille time-out
Wanneer het een time-out uitvoert, wordt het volgende weergegeven:
Waiting for X seconds, press a key to continue ...
or
Waiting for X seconds, press CTRL+C to quit ... [This is with the /NOBREAK parameter]
Gebruik het NUL
argument om het bericht te verbergen (voor uitleg van NUL
: klik hier )
timeout /t 60 > nul
or
timeout /t 60 /nobreak > nul
Pauze
Gebruik de opdracht PAUSE
om uw script te pauzeren.
PAUSE
Hierdoor wordt de tekst weergegeven. Press any key to continue . . .
en voeg vervolgens een nieuwe regel toe aan gebruikersinvoer.
Laten we zeggen dat we een "Hello World" -programma willen maken en nadat we op iets op ons toetsenbord hebben geklikt, willen we dat het het programma verlaat met het EXIT
commando.
echo Hello World
pause
exit
Hier wordt het ECHO
commando gebruikt om "Hallo wereld" te zeggen. Vervolgens gebruiken we het PAUSE
commando dat verschijnt. Press any key to continue . . .
en dan gebruiken we de EXIT
opdracht om het huidige BATCH-script te beëindigen.
Wanneer het pauzeert, wordt weergegeven:
Press any key to continue . . .
Verberg de "Druk op een toets om door te gaan ... prompt
Om het bericht te verbergen, sturen we de uitvoer om naar een speciaal apparaat met de naam nul
. Dit is eigenlijk geen echt apparaat, maar alles wat we ernaar sturen wordt weggegooid.
pause > nul
Ping
Ping
Een van de meest gebruikte commando's om een bepaalde tijd uit te stellen is ping
.
Basis gebruik
PING -n 1 -w 1000 1.1.1.1
REM the -n 1 flag means to send 1 ping request.
REM the -w 1000 means when the IP(1.1.1.1) does not respond, go to the next command
REM 1.1.1.1 is an non-existing IP so the -w flag can ping a delay and go to next command
Dit zou het volgende uitvoeren op uw batchbestand / console:
C:\Foo\Bar\Baz>ping -n -w 1000 1.1.1.1
Pinging 1.1.1.1 (Using 32 bytes of data)
Request timed out
Ping statistics for 1.1.1.1
Packets: Sent = 2,Received = 0, Lost = 1(100% loss)
Verberg de tekst weerkaatst
Voeg gewoon >nul
aan de achterkant van het commando om het om te leiden naar null.
ping -n w 1000 1.1.1.1 >nul
Dit zou niets opleveren.
Slaap
Slaap
Op een ouder Windows-systeem is timeout
niet beschikbaar. We kunnen echter het sleep
gebruiken.
Gebruik
sleep 1
Zeer vanzelfsprekend; slaap 1 seconde. sleep
is echter een onderdrukte opdracht en moet worden vervangen door een time-out .
Beschikbaarheid
Deze opdracht is beschikbaar op het oude Windows-systeem. Ook SLEEP.exe
is opgenomen in 2003 Resource Kit.
Om sleep.exe
te gebruiken, plaatst u het uitvoerbare bestand in de map %Windir%\System32
. Dan kunt u het als normaal commando gebruiken.