Batch : Délai maxium

Utilisateur anonyme -  
zephir666 Messages postés 107 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'aimerais savoir si il est possible, et si oui comment, d'imposer un délai maximum pour répondre à une question. Je m'explique :
Par exemple, imaginons que j'aimerais demander le mot secret (ici ce sera "ccm" à l'utilisateur, et, si il est juste, lancer la calculatrice, mais en lui laissent 5 secondes pour répondre.
Voilà ce que je mettrai comme code :

@ECHO OFF
SET /P password=Entre le mot de passe :
IF %password%==ccm (
START calc.exe
) ELSE (
ECHO Dommage, ce n'est pas le bon mot de passe
PAUSE
)
EXIT


Quelqu'un peut me dire qu'est ce que je dois rajouter et où pour ne laisser que 5 secondes à l'utilisateur pour répondre (pas de conseils sur la synthaxe du programme, ce n'est pas ça mon vrai programme. Je sais qu'en fait clic droit - modifier du coup on peut avoir le mot de passe) ?

Merci d'avance !
A voir également:

1 réponse

zephir666 Messages postés 107 Date d'inscription   Statut Membre Dernière intervention   10
 
salut a toi
très simples a faire et pourtant incroyablement pratique!
il e faut un vbs avec une commande de pause et demander a ton batch de "l'appeler" (commande "call") et tant que le vbs serra actif le batch lui restera en stand-by
une fois le vbs terminé le batch reprend son cours normale x)
si je peux me perettre je te conseille de faire en sorte que le vbs soit créez par le batch et détruit a la fin de chaque pause,
ça permet de ne pas laissez de trace et de pouvoir effectuez plusieurs pause de longueur différente dans le même batch sans ce prendre la tête voici ce que je te propose (schématiquement):


@echo off
:debut

echo set anmelden = createobject("wscript.shell")>>pause.vbs
echo.>>pause.vbs
echo wscript.sleep (5000)>>pause.vbs

::5000 Etant egale au nombre de milliseconde de pause soit 5 seconde actuellement

cls
echo attendre 5 seconde
call pause.vbs
::en utilisant la commande call le batch attendra après le vbs
::et une fois le vbs terminé il reprendra normalement

cls
echo le temps est ecouler!
del pause.vbs
pause>nul
goto debut



P.S: la pause dans la commande vbs "wscript.sleep (XXX)" les XXX sont le temps exprimé en milliseconde ! (pour des pause encore plus précise x) (si on oublie les latence du au lancement des programme etc >.>)

voila j'espère avoir pu t'être utile et n'hésite pas si ta encore besoin ^^ ;)
0