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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
bonjour
Je pense que le forum Microsoft.public.fr.scripting est plus adéquate
Bon courage
"PYL" <PYL@discussions.microsoft.com> a écrit dans le message de
news:5D2CC09E-A4D2-48F2-907C-A8AB1A92F46A@microsoft.com...
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 ?
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
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
"PYL" <PYL@discussions.microsoft.com> a écrit dans le message de
news:5D2CC09E-A4D2-48F2-907C-A8AB1A92F46A@microsoft.com...
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
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