OVH Cloud OVH Cloud

.bat PAUSE

3 réponses
Avatar
Olivier Lacroix
Salut à toutes et à tous,

je ne sais pas si c'est bien le bon endroit pour poser la question, mais je
tente tout de même.
J'ai plusieurs .bat à lancer, entre chaques lancements je dois faire
patienter quelques secondes.
Jusqu'ici la seule commande que j'ai découverte est la commande PAUSE, le
probleme est qu'il semble que cette commande ne permette pas de définir une
durée de pause.

Une idée ?

Merci d'avance.

3 réponses

Avatar
Azo3
certains langages ont des options de type DELAY

tu peux aussi simplement insérer une boucle de comptage
for t = 1 to 20000000
next t

fais des essais

et l'automatises avec des variables

--
Serge CENCI

MVP Microsoft WORKS

NB - adresse : enlever NOSPAM
"Olivier Lacroix" a écrit dans le message
de news: 42e0b162$0$306$
Salut à toutes et à tous,

je ne sais pas si c'est bien le bon endroit pour poser la question, mais
je
tente tout de même.
J'ai plusieurs .bat à lancer, entre chaques lancements je dois faire
patienter quelques secondes.
Jusqu'ici la seule commande que j'ai découverte est la commande PAUSE, le
probleme est qu'il semble que cette commande ne permette pas de définir
une
durée de pause.

Une idée ?

Merci d'avance.




Avatar
Quoi ma gueulle(R) ?
On Fri, 22 Jul 2005 10:42:10 +0200, "Olivier Lacroix"
wrote:

je ne sais pas si c'est bien le bon endroit pour poser la question, mais je
tente tout de même.
J'ai plusieurs .bat à lancer, entre chaques lancements je dois faire
patienter quelques secondes.
Jusqu'ici la seule commande que j'ai découverte est la commande PAUSE, le
probleme est qu'il semble que cette commande ne permette pas de définir une
durée de pause.

Une idée ?


Et la commande START monfichier.bat /WAIT

WAIT Démarre l'application et attend qu'elle se termine





HELP de START :

Démarre une nouvelle fenêtre pour exécuter le programme ou la commande
donné.

START ["titre"] [/D chemin] [/I] [/MIN] [/MAX] [SEPARATE]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL |
/BELOWNORMAL]
[/WAIT] [/B] [commande/programme]
[paramètres]

"titre" Titre à afficher dans la barre de titre.
chemin Répertoire de démarrage
B Démarre l'application sans créer de nouvelle fenêtre.
L'application ignore les interruptions par ^C. A moins
que
l'application ne le permette, ^Break est le seul moyen
d'interrompre l'application.
I Le nouvel environnement sera l'environnement initial
passé
à cmd.exe et non pas l'environnement en cours.
MIN Démarre la fenêtre réduite en icône
MAX Démarre la fenêtre en plein écran
SEPARATE Démarre le programme Windows 16-bits en espace mémoire
séparé
SHARED Démarre le programme Windows 16-bits en espace mémoire
partagé
LOW Démarre l'application dans la classe de priorité IDLE
NORMAL Démarre l'application dans la classe de priorité NORMAL
HIGH Démarre l'application dans la classe de priorité HIGH
REALTIME Démarre l'application dans la classe de priorité
REALTIME
ABOVENORMAL Démarre l'application dans la classe de priorité
ABOVENORMAL
BELOWNORMAL Démarre l'application dans la classe de priorité
BELOWNORMAL
WAIT Démarre l'application et attend qu'elle se termine
com/prog
S'il s'agit d'une commande cmd interne ou d'un fichier
de
commandes, alors le processeur de commande est exécuté
avec
l'option /K par cmd.exe. Cela signifie que la fenêtre ne
sera pas supprimée après l'exécution de la commande.

S'il ne s'agit pas d'une commande cmd interne ou d'un
fichier de
commandes alors il s'agit d'un programme et il sera
exécuté
comme une application liée à une fenêtre ou comme une
application console.

paramètres Paramètres passés à la commande ou au programme


Si les extensions de commandes sont activées, l'invocation des
extensions
de commandes dans la ligne de commandes ou la commande START sont
modifiées
comme suit :

Les fichiers non exécutables peuvent être invoqués via leur
association de
fichiers en tapant le nom du fichier en tant que commande (ex :
WORD.DOC
ouvrirait l'application associée à l'extension de fichier .DOC).
Voir les
commandes ASSOC et FTYPE pour savoir comment créer ces
associations depuis
un script de commandes.

Lors de l'exécution d'une application GUI 32 bits,
CMD.EXE n'attend pas que l'application se termine avant de revenir
à
l'invite de commandes. Ce nouveau comportement ne se produit PAS
s'il
est exécuté depuis un script de commandes.

Lors de l'exécution d'une ligne de commandes dont la première partie
est la
chaîne "CMD " sans extension ni qualificateur de chemin d'accès,
"CMD" est
remplacé par la valeur de la variable COMSPEC. Ceci permet de ne
pas
utiliser le CMD.EXE du répertoire en cours.

Lors de l'exécution d'une ligne de commandes dont la première partie
ne
contient PAS d'extension, CMD.EXE utilise la valeur de la variable
d'environnement PATHEXT pour déterminer les extensions à
rechercher et
leur ordre. La valeur par défaut de la variable PATHEXT est :

.COM;.EXE;.BAT;.CMD

Notez que la syntaxe est identique à celle de la variable PATH,
avec des
point-virgule séparant les divers éléments.

Lors de la recherche d'un exécutable, s'il n'y a pas de correspondance
pour
l'extension, une recherche est effectuée pour vérifier la
correspondance entre
nom de fichier et nom de répertoire. S'il y a correspondance, la
commande
START ouvre l'explorateur sur ce chemin d'accès. Si cela est fait à
partir de
la ligne de commandes, cela est équivalent à effectuer CD /D vers ce
chemin
d'accès.
--
Liberté, égalité, fraternité !!! Foutaise.
Je gagne le smic horaire pendant que d'autre gagnent 2x, 3x voir beaucoup beaucoup plus.
Donc une heure de ma vie vaut moins que celle d'un autre.

Avatar
cdeko
Bonjour,

Pour définir une durée de pause, je te propose les lignes de batch suivantes
:

: BATCH CHRONO
: indiquer le délai en centièmes de seconde
: sous la ligne ":DELAI"
:
@echo off
:depart
set ori=%time%
:Extraction heure, min, sec, centièmes
set h=%ori:~0,2%
set m=%ori:~3,2%
set s=%ori:~6,2%
set c=%ori:~9,2%
:Conversion en centièmes de seconde
set /a hc=%h%*360000
set /a mc=%m%*6000
set /a sc=%s%*100
set /a hmscori=%hc%+%mc%+%sc%+%c%
:
:DELAI : INDIQUER ICI LE DELAI en centièmes de seconde
set /a fin=%hmscori% + 500
:
echo Chrono en cours...
:boucle
set now=%time%
set h=%now:~0,2%
set m=%now:~3,2%
set s=%now:~6,2%
set c=%now:~9,2%
:éviter l'erreur décimal<>octal
if %h%= set h=8
if %h%= set h=9
if %m%= set m=8
if %m%= set m=9
if %s%= set s=8
if %s%= set s=9
if %c%= set c=8
if %c%= set c=9
set /a hc=%h%*360000
set /a mc=%m%*6000
set /a sc=%s%*100
set /a hmsc=%hc%+%mc%+%sc%+%c%
:si passage minuit, ajout 86400 secondes
if %hmsc% LSS %hmscori% set /a hmsc=%hmsc%+8640000
:compare heure actuelle avec heure de fin
if not %hmsc% GEQ %fin% goto boucle
echo.
echo.
echo DELAI ECOULE !
@echo on
pause


A+,
cdeko

"Olivier Lacroix" a écrit dans le message
de news:42e0b162$0$306$
Salut à toutes et à tous,

je ne sais pas si c'est bien le bon endroit pour poser la question, mais
je

tente tout de même.
J'ai plusieurs .bat à lancer, entre chaques lancements je dois faire
patienter quelques secondes.
Jusqu'ici la seule commande que j'ai découverte est la commande PAUSE, le
probleme est qu'il semble que cette commande ne permette pas de définir
une

durée de pause.

Une idée ?

Merci d'avance.