Faire une attente sous dos (batch)
Résolu/Fermé
A voir également:
- Batch pause 10 secondes
- Dos wait - Meilleures réponses
- Dos pause - Meilleures réponses
- Imprimante hp en pause ✓ - Forum Imprimante
- Windows 10 gratuit - Guide
- Clé windows 10 gratuit - Guide
- Windows 10 iso - Guide
- Mon pc s'allume mais ne démarre pas windows 10 - Guide
24 réponses
karirovax
Messages postés
3221
Date d'inscription
dimanche 17 janvier 2010
Statut
Membre
Dernière intervention
22 juin 2016
203
Modifié par karirovax le 2/09/2010 à 18:52
Modifié par karirovax le 2/09/2010 à 18:52
salut tous le monde
voici la remarche pour 30 seconde avec des bips ;)
@echo off
echo ceci est un test
echo.
echo ???????????????????????????????????????»
ECHO ? ?
echo ? ceci est un test ?
ECHO ? ?
echo ???????????????????????????????????????¼
echo.
SET load=
SET /A loadnum=0
:Loading
set /p "=>" %%<nul
PING -n 2 localhost >nul
SET /A loadnum+=1
IF not %loadnum% EQU 30 GOTO :loading
echo.
pause
karirovax ;)
voici la remarche pour 30 seconde avec des bips ;)
@echo off
echo ceci est un test
echo.
echo ???????????????????????????????????????»
ECHO ? ?
echo ? ceci est un test ?
ECHO ? ?
echo ???????????????????????????????????????¼
echo.
SET load=
SET /A loadnum=0
:Loading
set /p "=>" %%<nul
PING -n 2 localhost >nul
SET /A loadnum+=1
IF not %loadnum% EQU 30 GOTO :loading
echo.
pause
karirovax ;)
J'ai une réponse...... hahahaha!! gt noob en batch hier et aujourdh'ui je m'y remet. et... voici une commande externe que j'ai crée en partant uniquement du batch elle comprend 2 argument un qui est le temps en seconde le délai max de la pause est de 59s la précision est de l'ordre de 1s et le deuxième est l'aide (syntaxe)
voici son contenu c'est super facile........
Il y a beacoup de commentaire mais utiles à comprendre.
---------------------------------------------------------------
@echo off
:argument
rem %1 est l'argument saisie précédemment en apelant la commande (ex: pauser 5) 5 étant le tps en secondes
rem on test si l'argument est null
set T=%1
if "%T%" == "/?" goto Syntaxe
if "%T%" == "" goto error
rem test si l'argument est compris entre 1 et 60 et que c'est un nombre et non une chaine de caractère
IF %T% geq 1 GOTO test0
:test0
IF %T% lss 60 GOTO init
goto error
:error
rem affiche la syntaxe de la commande pauser
echo.
echo taper /? pour afficher l'aide
echo.
goto fin
:Syntaxe
echo.
echo Syntaxe :
echo.
echo PAUSER [nombre]
echo.
echo nombre Nombre compris entre 1 et 59
echo.
echo Fonctionnement: permet de faire une pause de dur'e maximum de 59 secondes
echo.
echo MVG 15/09/12
echo.
echo pause >null
goto fin
rem ce script permet de faire une pause de durée limité à 60 secondes max MVG 15/09/12
rem Définition de quelques variables utilisé....
rem t0=temps en seconde au moment du lancement du script
rem t1=temps en seconde de la durée de la pause souhaité
rem t2=temps en seconde de la fin de pause (t2=t0+t1)
rem %time:~6,2%= secondes à l'instant T de l'horloge windows sur 2 chiffres (unité et dizaine)
rem minute=limitation de la pause max de 60 secondes
rem InstantT=temps en seconde à l'instant T
:init
rem initialisation des variables
rem la précedente variable T a réussi les différents test: compris entre 1 et 60
set t1=%T%
set minute=60
set t0=%time:~6,2%
set /a t2=%t0%+%t1%
rem Si l'addition du temps à atteindre(t0+t1) dépasse 60, étant donnée qu'après 60 secondes l'horloge repart à 1 nous sommes obligé de redéfinir le calcul de la fin de pause qui est le suivant:
rem Si t2 est plus grand que 60 alors la nouvelle variable sera égale à t2-60
if /I %t2% GTR %minute% set /a t2=%t2%-%minute%
rem étant donné que le compteur des secondes s'arrète à 59 ensuite redémarre à zéro si la variable t2 est égale à 60 nous l'initialisereont à 0
if /I %t2% == %minute% set t2=0
rem Cette ligne corrige l'erreur entre le calcul et le défilement des secondes si nous trouvons comme résultat la somme de t0+t1 compris entre 60 et 70
rem Dans ce cas de figure, en faisant le calcul, ((t0+t1)-60)<=>ex:65-60=5 nous trouvons 5 comme résultat.
rem A cet instant T, la variable de défilement des secondes nous affichera une dizaine nulle CAD "05" et qui est différent de "5" donc si la dizaine est nulle, nous allons ajouter un zéro à cette variable t2
if %t2% lss 10 set t2=0%t2%
:pause
rem on définit la variable de défilement des secondes à l'instant T (unité+dizaine)
set InstantT=%time:~6,2%
rem si nous avons atteint la fin de pause le script se termine.
if %InstantT%==%t2% goto fin
goto pause
:fin
-------------------------------------------------------------------------------
J'ai compilé ce batch en exe et c'est du bonheur... je pense que j'ai des test à faire encore.. je l'ai pondu hier soir vite fait g fini ...
voici son contenu c'est super facile........
Il y a beacoup de commentaire mais utiles à comprendre.
---------------------------------------------------------------
@echo off
:argument
rem %1 est l'argument saisie précédemment en apelant la commande (ex: pauser 5) 5 étant le tps en secondes
rem on test si l'argument est null
set T=%1
if "%T%" == "/?" goto Syntaxe
if "%T%" == "" goto error
rem test si l'argument est compris entre 1 et 60 et que c'est un nombre et non une chaine de caractère
IF %T% geq 1 GOTO test0
:test0
IF %T% lss 60 GOTO init
goto error
:error
rem affiche la syntaxe de la commande pauser
echo.
echo taper /? pour afficher l'aide
echo.
goto fin
:Syntaxe
echo.
echo Syntaxe :
echo.
echo PAUSER [nombre]
echo.
echo nombre Nombre compris entre 1 et 59
echo.
echo Fonctionnement: permet de faire une pause de dur'e maximum de 59 secondes
echo.
echo MVG 15/09/12
echo.
echo pause >null
goto fin
rem ce script permet de faire une pause de durée limité à 60 secondes max MVG 15/09/12
rem Définition de quelques variables utilisé....
rem t0=temps en seconde au moment du lancement du script
rem t1=temps en seconde de la durée de la pause souhaité
rem t2=temps en seconde de la fin de pause (t2=t0+t1)
rem %time:~6,2%= secondes à l'instant T de l'horloge windows sur 2 chiffres (unité et dizaine)
rem minute=limitation de la pause max de 60 secondes
rem InstantT=temps en seconde à l'instant T
:init
rem initialisation des variables
rem la précedente variable T a réussi les différents test: compris entre 1 et 60
set t1=%T%
set minute=60
set t0=%time:~6,2%
set /a t2=%t0%+%t1%
rem Si l'addition du temps à atteindre(t0+t1) dépasse 60, étant donnée qu'après 60 secondes l'horloge repart à 1 nous sommes obligé de redéfinir le calcul de la fin de pause qui est le suivant:
rem Si t2 est plus grand que 60 alors la nouvelle variable sera égale à t2-60
if /I %t2% GTR %minute% set /a t2=%t2%-%minute%
rem étant donné que le compteur des secondes s'arrète à 59 ensuite redémarre à zéro si la variable t2 est égale à 60 nous l'initialisereont à 0
if /I %t2% == %minute% set t2=0
rem Cette ligne corrige l'erreur entre le calcul et le défilement des secondes si nous trouvons comme résultat la somme de t0+t1 compris entre 60 et 70
rem Dans ce cas de figure, en faisant le calcul, ((t0+t1)-60)<=>ex:65-60=5 nous trouvons 5 comme résultat.
rem A cet instant T, la variable de défilement des secondes nous affichera une dizaine nulle CAD "05" et qui est différent de "5" donc si la dizaine est nulle, nous allons ajouter un zéro à cette variable t2
if %t2% lss 10 set t2=0%t2%
:pause
rem on définit la variable de défilement des secondes à l'instant T (unité+dizaine)
set InstantT=%time:~6,2%
rem si nous avons atteint la fin de pause le script se termine.
if %InstantT%==%t2% goto fin
goto pause
:fin
-------------------------------------------------------------------------------
J'ai compilé ce batch en exe et c'est du bonheur... je pense que j'ai des test à faire encore.. je l'ai pondu hier soir vite fait g fini ...
Anonyme209
Messages postés
678
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
22 décembre 2020
15
7 juin 2013 à 16:24
7 juin 2013 à 16:24
C'est tout simple, inutile de s'embeter!
Ecris ceci:
[ETAPE 1]
ping localhost -n [nombre de secondes + 1] > nul
[ETAPE 2]
Ecris ceci:
[ETAPE 1]
ping localhost -n [nombre de secondes + 1] > nul
[ETAPE 2]