|
|
|
|
Salut :)
J'ai un petit probléme en batch :(
Je voudrai que le script fasse une pause de 10 seconde, et ensuite continue tout seul.
Le probléme c'est que je ne trouve pas comment faire.
Je suis sous windows XP et en batch il n'y a plus de Wait ni de Sleep, et je voudrai si possible ne pas avoir a ajouter un "composant" non natif, comme le sleep de win 2k.
Pause ne va pas car je ne veux pas a avoir a appuyer sur une touche, et un ping c'est un peu "tordu" pour faire une pause.
Si quelqu'un pourrai m'aider merdi beaucoup
Dans ms-dos il n y a pas de commande pour lui dire d attendre X segondes mai j ai une astuce : tape sa et procure toi ce porgrammes de MS(DOS 6.22 fr ou us
|
Boujours de peut etre que ce post est vieu mais j'ai reprit le bout du Soft a Yugo pour le modifier le voila:
@echo off set temps="X" set /a secondefin=%time:~6,2%+%temps% if "%temps%"=="60" goto 1minute if "%secondefin%" LSS "60" goto start if "%secondefin%" GTR "60" goto menu :1munute set /a minutefin="%time:~3,2%"+"1" set minutesecondefin=%minutefin%:%time:~6,2% goto start2 :start2 if "%minutesecondefin%" EQU "%time:~3,5%" (goto fin) else goto start2 :menu set /a secondefin="%secondefin%"-"60" goto start :start if "%secondefin%"=="%time:~6,2%" (goto fin) else goto start :fin pause Je les modifier maintenant vous devener replacer X par un nombre entre 0 et 119 seconde. Même si se post date j'espere qu'il aidera du monde. LES CHATS C'EST DES CONNARDS !! |
Excusé moi mais le script que je vous avez donner étais foireux voila le nouveau:
@echo off
set temps=X
set /a secondefin=%time:~6,2%+%temps%
if %secondefin% GEQ 60 (goto def) else goto inf1minute
:inf1minute
if %secondefin% EQU %time:~6,2% (goto fin) else goto inf1minute
:def
set /a seconde=%time:~6,2%
set /a minute=%time:~3,2%
set /a heur=%time:~0,2%
set /a minutefin=%time:~3,2%
set /a heurfin=%time:~0,2%
goto sup1minute
:sup1minute
set /a secondefin=%secondefin%-60
set /a minutefin=%minutefin%+1
set minutesecondefin=%minutefin%:%secondefin%
if %secondefin% GEQ 60 (goto sup1minute) else goto sup1heur
:sup1heur
if %minutefin% GEQ 60 (goto sup1heur2)
:sup1heur2
set /a minutefin=%minutefin%-60
set /a heurfin=%heurfin%+1
set heurminuteseconde=%heurfin%:%minutefin%:%secondefin%
if %minutefin% GEQ 60 ( goto sup1heur) else goto start2
:start2
if %heurminuteseconde% EQU %time:~0,8% (goto fin) else goto start2
:fin
pause
Il suffit de remplacer le X par le nombre de seconde que vous voulez attendre. Normalement avec ce script vous pouvez attendre jusqu'à 1 ou 2 heure mais bon... LES CHATS C'EST DES CONNARDS !! |
Cs-bilou, ton script s'appelle de l'attente active, tu vas exécuter N fois l'instruction "if %heurminuteseconde% EQU %time:~0,8% (goto fin) else goto start2" tant que la condition est fausse, et par conséquent saturer ton processeur pendant toute l'attente... Tu imagines le nombre d'instructions que ton programme va exécuter?
|