Dos : Effectuer une boucle de détection en ajoutant un compteur
Résolu/Fermé
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
-
22 août 2013 à 08:29
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 23 août 2013 à 10:48
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - 23 août 2013 à 10:48
A voir également:
- Dos : Effectuer une boucle de détection en ajoutant un compteur
- Commande dos windows 10 - Guide
- Commande dos copy repertoire et sous repertoire ✓ - Forum Windows
- Fenêtre dos - Forum Windows
- Traceroute dos ✓ - Forum Réseau
- Formater sous dos - Forum Windows
4 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
22 août 2013 à 09:45
22 août 2013 à 09:45
hello
mettre le code dans une boucle
mettre le code dans une boucle
for /L %%a in (1,1,10) do ( le code ici )
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
22 août 2013 à 09:58
22 août 2013 à 09:58
Bonjour Dubcek,
Tu veux dire comme ça ? :
for /L %%a in (1,1,10) do (
set /a nbFichiers=0
for %a in (%toto%\RES*) do set /a nbFichiers+=1
if %nbFichiers%==2 goto traitement
)
:traitement
Désolé, je suis un médiocre en dos ...
Tu veux dire comme ça ? :
for /L %%a in (1,1,10) do (
set /a nbFichiers=0
for %a in (%toto%\RES*) do set /a nbFichiers+=1
if %nbFichiers%==2 goto traitement
)
:traitement
Désolé, je suis un médiocre en dos ...
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 22/08/2013 à 10:01
Modifié par ryko1820 le 22/08/2013 à 10:01
Hello,
déjà si tu mets ton "set /a nbFichiers=0" là, il sera remis à 0 à chaque itération de la première boucle ... :-)
déjà si tu mets ton "set /a nbFichiers=0" là, il sera remis à 0 à chaque itération de la première boucle ... :-)
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 22/08/2013 à 10:20
Modifié par dubcek le 22/08/2013 à 10:20
que veux tu faire 10 fois ?
j'ai ajouté goto xxx sinon à la fin de la boucle, il va exécuter :traitement
for /L %%a in (1,1,10) do ( set /a nbFichiers=0 for %%b in (%toto%\RES*) do set /a nbFichiers+=1 if %nbFichiers% EQU 2 goto traitement ) goto xxx :traitementca va aller très vite
j'ai ajouté goto xxx sinon à la fin de la boucle, il va exécuter :traitement
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
22 août 2013 à 10:32
22 août 2013 à 10:32
Je veux contrôler la présence de deux fichiers RES*
Ces fichiers arrivent dans le répertoire %toto% alléatoirement.
Je désire que mon traitement se déclenche uniquement si il y a détection des deux fichiers.
Le contrôle peut tourner 10 fois ou même 100 fois.
L'idée c'est d'avoir un mode de détection qui tourne pendant environs 5mn.
Par contre, je n'ai pas compris l'ajout du goto xxx ?
Ces fichiers arrivent dans le répertoire %toto% alléatoirement.
Je désire que mon traitement se déclenche uniquement si il y a détection des deux fichiers.
Le contrôle peut tourner 10 fois ou même 100 fois.
L'idée c'est d'avoir un mode de détection qui tourne pendant environs 5mn.
Par contre, je n'ai pas compris l'ajout du goto xxx ?
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 22/08/2013 à 10:43
Modifié par ryko1820 le 22/08/2013 à 10:43
"goto xxx" c'est parce que même si le batch trouve pas les fichiers il exécutera le traitement ":traitement" en fin de boucles, tu dois donc mettre un étiquette ":xxx" après tes traitement (ou peut importe le nom)
Sinon ton "set /a nbFichiers=0" tu l'as mis quand même ? (même si il doit pas être dans les boucles, faut le mettre avant ...)
Sinon ton "set /a nbFichiers=0" tu l'as mis quand même ? (même si il doit pas être dans les boucles, faut le mettre avant ...)
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
22 août 2013 à 10:49
22 août 2013 à 10:49
Ah oui je comprends !
je peux mettre "goto FIN" par exemple ?
je peux mettre "goto FIN" par exemple ?
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
22 août 2013 à 10:02
22 août 2013 à 10:02
Ok donc je procède comme ça ? :
for /L %%a in (1,1,10) do (
for %a in (%toto%\RES*) do set /a nbFichiers+=1
if %nbFichiers%==2 goto traitement
)
:traitement
for /L %%a in (1,1,10) do (
for %a in (%toto%\RES*) do set /a nbFichiers+=1
if %nbFichiers%==2 goto traitement
)
:traitement
ryko1820
Messages postés
1645
Date d'inscription
dimanche 28 avril 2013
Statut
Membre
Dernière intervention
15 août 2021
276
Modifié par ryko1820 le 22/08/2013 à 10:09
Modifié par ryko1820 le 22/08/2013 à 10:09
Jsais pas, ptete bien ... Si tu veux voir ce qui se passe dans ta deuxieme boucle tu mets un "echo nbFichiers = %nbFichiers%" dans ta boucle et tu lances ...
Tu verras bien si ça marche.
(Jsuis sous Linux)
Tu verras bien si ça marche.
(Jsuis sous Linux)
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
22 août 2013 à 10:22
22 août 2013 à 10:22
Je viens de le tester, manifestement ça ne fonctionne pas.
Le processus tourne 10x même si les deux fichiers sont présents.
Il y a certainement quelquechose que je n'ai pas compris...
Le processus tourne 10x même si les deux fichiers sont présents.
Il y a certainement quelquechose que je n'ai pas compris...
Ka-El
Messages postés
260
Date d'inscription
lundi 28 novembre 2011
Statut
Membre
Dernière intervention
7 août 2020
23 août 2013 à 10:48
23 août 2013 à 10:48
Bonjour messieurs et merci beaucoup pour votre aide.
Mon script fonctionne maintenant grace à vous !
Bonne continuation et à bientôt.
K
Mon script fonctionne maintenant grace à vous !
Bonne continuation et à bientôt.
K
22 août 2013 à 10:23
As-tu une idée comment je pourrais intégrer mon code dans la boucle que tu proposes ?
Merci.