OVH Cloud OVH Cloud

expression régulière

2 réponses
Avatar
Serge Nazarian
Bonjour,

Je voudrait filtrer avec findstr les fichiers d'un répertoire dans un bat
nommé trouve.bat.
Ceux que je veux sont de la forme toto.1234..9.ext où 1234..9 est une suite
de chiffres (il y a au moins un chiffre).
Je fais donc : trouve toto
et trouve.bat contient
For /F "tokens=4" %%A in ('DIR ^| FINDSTR "%1.[0-9][0-9]*.ext" ') DO echo
"%%A"

mais ceci ne fonctionne pas car je ne veux pas récupérer les fichiers
toto.1234..9.ext.ext ou même toto.1234..9.ext1.ext mais uniquement
toto.1234..9.ext .
Comment procéder pour n'avoir que toto suivi d'un point, d'une suite non
vide de chiffres, d'un point et de ext ?

Merci pour toute aide.
Cordialement,
--
Serge Nazarian

Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN

2 réponses

Avatar
Pascal Hambourg
Salut,

Serge Nazarian a écrit :
For /F "tokens=4" %%A in ('DIR ^| FINDSTR "%1.[0-9][0-9]*.ext" ') DO
echo "%%A"

mais ceci ne fonctionne pas car je ne veux pas récupérer les fichiers
toto.1234..9.ext.ext ou même toto.1234..9.ext1.ext mais uniquement
toto.1234..9.ext .
Comment procéder pour n'avoir que toto suivi d'un point, d'une suite non
vide de chiffres, d'un point et de ext ?



Ajoute $ (fin de ligne) à la fin de ton expression.
Avatar
Serge Nazarian
Bonjour,

Voici ce qui marche parfaitement chez moi :
For /F "tokens=4" %%A in ('DIR ^| FINDSTR "%1.[0-9][0-9]*.ext$" ') DO
echo "%%A"

Cordialement,
--
Serge Nazarian

Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN