Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Boucle avec FOR ...

2 réponses
Avatar
PYL
Bonjour,
Je n'arrive pas à utiliser dans un .BAT la boucle FOR IN sur plusieurs lignes.
La commande suivante fonctionne très bien :
for /F "usebackq delims==" %%i IN (`type file.lst`) DO @echo %%i

Mais si je veux faire en plus du ECHO un COPY, cela ne va plus ...

Comment chainer des commandes DOS derrière le DO ?

Merci d'avance

2 réponses

Avatar
hugguy
bonjour

Je pense que le forum Microsoft.public.fr.scripting est plus adéquate

Bon courage
"PYL" a écrit dans le message de
news:
Bonjour,
Je n'arrive pas à utiliser dans un .BAT la boucle FOR IN sur plusieurs
lignes.
La commande suivante fonctionne très bien :
for /F "usebackq delims==" %%i IN (`type file.lst`) DO @echo %%i

Mais si je veux faire en plus du ECHO un COPY, cela ne va plus ...

Comment chainer des commandes DOS derrière le DO ?

Merci d'avance


Avatar
Jean-Claude BELLAMY
"PYL" a écrit dans le message de
news:
Bonjour,
Je n'arrive pas à utiliser dans un .BAT la boucle FOR IN sur plusieurs
lignes.
La commande suivante fonctionne très bien :
for /F "usebackq delims==" %%i IN (`type file.lst`) DO @echo %%i

Mais si je veux faire en plus du ECHO un COPY, cela ne va plus ...

Comment chainer des commandes DOS derrière le DO ?



Tu as au moins 3 possibilités :

1) Créer un bloc de commandes encadrées par des parenthèses :
for /F "usebackq delims==" %%i IN (`type file.lst`) DO
(@echo %%i
copy %%i .....
....
)

2) Appeler un sous-programme interne, par la commande
CALL :étiquette paramètres

for /F "usebackq delims==" %%i IN (`type file.lst`) DO call :supercopie
%%i
...
...
:supercopie
@echo %1
copy %1 .....
....


3) Utiliser le caractère "&"
for /F "usebackq delims==" %%i IN (`type file.lst`) DO @echo %%i & copy
%%i .....


Pour seulement 2 commandes, l'usage du "&" est plus simple.
Par contre, au delà, le bloc sur plusieurs lignes est plus lisible.
Et le CALL est pratique si le batch est complexe, et si le traitement
concerné est réutilisé ailleurs.


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr