batch-file
Ajouter un délai au fichier batch
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.