Recherche…


Introduction

Cette rubrique vous apprendra une des nombreuses choses utiles à connaître dans le langage de script, le fichier batch; Ajout d'un délai / pause / délai d'attente à votre fichier de commandes.

Temps libre


Temps libre

La manière la plus simple de retarder ou de suspendre un certain temps est d'utiliser la commande standard TIMEOUT . Pour faire un délai qui dure exactement une minute, tapez:

timeout /t 60

Maintenant qu'est-ce qui se passe ici?

Tout d'abord, nous utilisons la commande TIMEOUT avec le paramètre /T (qui signifie simplement timeout), puis nous spécifions la quantité de secondes à attendre. Dans ce cas ... 60 secondes.

Délai d'attente avec le paramètre / NOBREAK

Si nous prenons l'exemple d'avant et que nous l'exécutons dans un fichier BATCH: timeout /t 60 alors que vous attendez ces 60 secondes, vous pouvez réellement interrompre le délai en appuyant sur n'importe quelle touche de votre clavier. Pour éviter cela, nous ajoutons simplement le paramètre /NOBREAK à la fin.

timeout /t 60 /nobreak

En faisant cela, il expirera pendant 60 secondes et si vous souhaitez interrompre le délai, vous devrez appuyer sur (CTRL-C) sur votre clavier.

Délai d'attente silencieux

Quand il fait un timeout, il affichera:

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]

Pour masquer le message, utilisez l'argument NUL (pour l'explication de NUL : cliquez ici )

timeout /t 60 > nul
or
timeout /t 60 /nobreak > nul

Pause

Pour suspendre votre script, utilisez simplement la commande PAUSE .

PAUSE

Cela affichera le texte Press any key to continue . . . , puis ajoutez une nouvelle ligne à la saisie de l'utilisateur.

Disons que nous voulons créer un programme "Hello World" et après avoir cliqué sur quelque chose sur notre clavier, nous voulons qu'il quitte le programme avec la commande EXIT .

echo Hello World
pause
exit

Ici, il utilise la commande ECHO pour dire "Hello World". Ensuite, nous utilisons la commande PAUSE qui affiche Press any key to continue . . . et ensuite nous utilisons la commande EXIT pour terminer le script BATCH en cours.

Quand il fait une pause, il affiche:

Press any key to continue . . .

Masquer la "Appuyez sur une touche pour continuer ... invite

Pour masquer le message, nous redirigeons la sortie vers un périphérique spécial appelé nul . Ce n'est pas vraiment un appareil réel, mais tout ce que nous lui envoyons est jeté.

pause > nul

Ping


Ping

L'une des commandes les plus utilisées pour retarder un certain temps est la commande ping .

Utilisation de base

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

Cela produirait ce qui suit sur votre fichier de commandes / 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)

Masquer le texte fait écho

Ajoutez simplement >nul à la fin de la commande pour le rediriger vers null.

ping -n w 1000 1.1.1.1 >nul

Cela ne produirait rien.

Dormir


Dormir

Sur les anciens systèmes Windows, le timeout n'est pas disponible. Cependant, nous pouvons utiliser la commande sleep .

Usage

sleep 1

Très explicite dormir pendant 1 seconde. Cependant, le sleep est une commande désespérée et doit être remplacé par un délai d' attente .

Disponibilité

Cette commande est disponible sur l'ancien système Windows. SLEEP.exe est également inclus dans le Kit de ressources 2003.

Pour utiliser sleep.exe , placez le fichier exécutable dans le dossier %Windir%\System32 . Ensuite, vous pouvez l'utiliser comme commande normale.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow