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

forfiles

5 réponses
Avatar
---DGI972---
Bonjour,

Peut on lancer des vbs à chaque ficher détecté par un forfile dans un
bat ?

Dans un répertoire D:\EDITION\A_TRAITER\ j'ai des fichiers
FICH01_001.txt FICH01_002.txt et des fichiers FICH02_001.txt
FICH02_002.txt etc..
Je dois faire un petit traitement pour chaque type de fichier avant de
lancer le fich01.vbs
voiçi le Bat pour le traitement des FICH01

---------------------------------------
D:
cd D:\EDITION\FICH01\
DEL FICH01*.*
PING 127.0.0.1 -n 3 > NUL
cd D:\EDITION\A_TRAITER\
FORFILES -pD:\EDITION\A_TRAITER\ -mFICH01*.TXT -c"CScript
traitfich01.vbs D:\EDITION\A_TRAITER\@FILE"
PING 127.0.0.1 -n 3 > NUL
COPY FICH01*.txt /B D:\EDITION\FICH01\FICH01-1.txt
PING 127.0.0.1 -n 3 > NUL
wscript.exe d:\edition\programme\fich01.vbs
-----------------------------------------

le vbs traitfich01.vbs fonctionne correctement avec la syntaxe CScript
traitfich01.vbs <[path\]Filename>
Le vbs fich01.vbs fonctionne correctement aussi.
C'est le Bat avec le forfile qui me pose Pb.

Par contre cette ligne de test fonctionne correctement dans un fenêtre
CMD mais pas dans un bat ?

FORFILES -pD:\EDITION\A_TRAITER\ -mFICH01*.TXT -c"CMD /C Echo @FILE
c'est un FICH01"

Merci pour vos lumières

5 réponses

Avatar
MCI \(ex do ré Mi chel la si do\) [MVP]
Bonsoir !

Le Forfiles que j'utilise (celui qui est en standard dans Windows Vista)
nécessite un "/" comme préfixe des paramètres, et UN ESPACE après la
lettre-clef.
Par exemple, ce batch fonctionne bien, chez moi :

@echo off
echo.
FORFILES /P D:DEVPython /M *.JPG /C "cmd /c echo @file 0x09 est
une image"


@-salutations
--
Michel Claveau
Avatar
---DGI972---
MCI (ex do ré Mi chel la si do) [MVP] a écrit :
Bonsoir !

Le Forfiles que j'utilise (celui qui est en standard dans Windows Vista)
nécessite un "/" comme préfixe des paramètres, et UN ESPACE après la
lettre-clef.
Par exemple, ce batch fonctionne bien, chez moi :

@echo off
echo.
FORFILES /P D:DEVPython /M *.JPG /C "cmd /c echo @file 0x09 est une
image"


@-salutations



Bonjour,

dans une fenêtre cmd cette ligne fonctionne parfaitement, elle liste
bien tous les fichiers sans récurrence qui commence par FICH01*.txt

FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE
c'est un FICH01"

mais dans un fichier test.cmd elle ne fonctionne pas :'(

-----------test.cmd-------------
@echo off
echo.
FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE
c'est un FICH01"
-------------fin----------------

Puis le deuxiéme Pb: Est je peux "attaquer" un VBS en lui passant comme
paramètre la liste des fichiers trouvés ?

Cordialement,
Avatar
---DGI972---
---DGI972--- a écrit :
MCI (ex do ré Mi chel la si do) [MVP] a écrit :
Bonsoir !

Le Forfiles que j'utilise (celui qui est en standard dans Windows Vista)
nécessite un "/" comme préfixe des paramètres, et UN ESPACE après la
lettre-clef.
Par exemple, ce batch fonctionne bien, chez moi :

@echo off
echo.
FORFILES /P D:DEVPython /M *.JPG /C "cmd /c echo @file 0x09 est une
image"


@-salutations



Bonjour,

dans une fenêtre cmd cette ligne fonctionne parfaitement, elle liste bien
tous les fichiers sans récurrence qui commence par FICH01*.txt

FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE c'est un
FICH01"

mais dans un fichier test.cmd elle ne fonctionne pas :'(

-----------test.cmd-------------
@echo off
echo.
FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE c'est un
FICH01"
-------------fin----------------

Puis le deuxiéme Pb: Est je peux "attaquer" un VBS en lui passant comme
paramètre la liste des fichiers trouvés ?

Cordialement,



J'ai trouvé l'option @RELPATH, mais je n'arrive pas a intercaller le
''
entre le RELPATH et FILE pour avoir le chemin complet.
Je n'arrive tjrs pas a lancer un vbs en csript dans la ligne de
commande commande forfile.

FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo
@ c'est un FICH01"
Avatar
---DGI972---
---DGI972--- a écrit :
---DGI972--- a écrit :
MCI (ex do ré Mi chel la si do) [MVP] a écrit :
Bonsoir !

Le Forfiles que j'utilise (celui qui est en standard dans Windows Vista)
nécessite un "/" comme préfixe des paramètres, et UN ESPACE après la
lettre-clef.
Par exemple, ce batch fonctionne bien, chez moi :

@echo off
echo.
FORFILES /P D:DEVPython /M *.JPG /C "cmd /c echo @file 0x09 est une
image"


@-salutations



Bonjour,

dans une fenêtre cmd cette ligne fonctionne parfaitement, elle liste bien
tous les fichiers sans récurrence qui commence par FICH01*.txt

FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE c'est
un FICH01"

mais dans un fichier test.cmd elle ne fonctionne pas :'(

-----------test.cmd-------------
@echo off
echo.
FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @FILE c'est
un FICH01"
-------------fin----------------

Puis le deuxiéme Pb: Est je peux "attaquer" un VBS en lui passant comme
paramètre la liste des fichiers trouvés ?

Cordialement,



J'ai trouvé l'option @RELPATH, mais je n'arrive pas a intercaller le ''
entre le RELPATH et FILE pour avoir le chemin complet.
Je n'arrive tjrs pas a lancer un vbs en csript dans la ligne de commande
commande forfile.

FORFILES -pD:EDITIONA_TRAITER -mFICH01*.TXT -c"CMD /C Echo @
c'est un FICH01"



Je travaillais avec une version de FORFILES non officiel d'un M
Emmanuel Boersma de 1998 d'ou des syntaxes différentes.
Je repars dans a zéro.
Avatar
Gilles LAURENT [MVP]
"---DGI972---" wrote:

Bonjour,

Je travaillais avec une version de FORFILES non officiel d'un M
Emmanuel Boersma de 1998 d'ou des syntaxes différentes.
Je repars dans a zéro.



Si votre plateforme ne dispose pas nativement de cet outil alors pourquoi ne
pas utiliser simplement la boucle suivante :

> for %i in (FICH01*.txt) do @echo %i

Note: L'outil forfiles est intéressant à partir du moment ou on exploite ses
possibilités de selections avancées.

Note: Emmanuel Boersma [MS] semble être l'auteur original de l'outil
forfiles. Cet outil a ensuite été repris dans les reskits puis finalement
intégré nativement au système. Si quelqu'un peut confirmer ?

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr