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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow