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

remplacer une chaîne de caractère dans un ensemble de fichiers

1 réponse
Avatar
caro
Bonjour,

Je voudrais remplacer une chaîne de caractère par une autre dans un ensemble
de fichier.
Est ce possible avec des commande Windows ?
Sinon est ce possible de la remplacer dans un seul fichier ?

Merci d'avance,

Caroline Vorwerk

1 réponse

Avatar
Jean-Claude BELLAMY
Dans le message :,
caro a pris la peine d'écrire ce qui suit :
Bonjour,

Je voudrais remplacer une chaîne de caractère par une autre dans un
ensemble de fichier.
Est ce possible avec des commande Windows ?
Sinon est ce possible de la remplacer dans un seul fichier ?


J'ai écrit un script VBS qui fait cela :
http://www.bellamyjc.org/fr/vbsdownload.html#replace


Script de remplacement d'une chaine de caractères
dans un ensemble de fichiers texte
JC BELLAMY © 2002
------------------------------------------
Syntaxe :
replace -a<ancienne> -n<nouvelle> -f<fichier> [-b<backup>] [-s]
replace /a<ancienne> /n<nouvelle> /f<fichier> [/b<backup>] [/s]
Paramètres obligatoires :
<ancienne> : chaine à remplacer
<nouvelle> : nouvelle chaine
<fichier> : nom du fichier, avec ou sans chemin
peut comporter les caractères génériques * et ?
On peut remplacer un caractère dans les chaines par sa valeur
hexadécimale sous la forme xnn
Par exemple le guillemet " : x22
Paramètres facultatifs :
<backup>: : extension des fichiers de sauvegarde (par défaut ".bak")
(le "." initial est facultatif)
si ce commutateur est omis, il n'y a pas de backup
-c : remplacements sensibles à la casse
dans ce cas, on distingue majuscules et minuscules
-s : exploration des sous-dossiers requise
-r : les chaines sont interprétées comme expressions régulières
NB : les chaines et nom de fichier sont à encadrer par des guillemets
s'ils comportent des espaces

Exemples :
replace /aEssai /nx22Testx22 -flisezmoi.txt -c -s -b$$$
remplace la chaine "Essai" par ""Test"" en respectant la casse
dans tous les fichiers de nom "lisezmoi.txt" situés dans le
dossier courant et les sous-dossiers et effectue un backup de
chaque fichier modifié en ajoutant à son nom l'extension .$$$

replace -a"array[0..255] of char" -nstring -f"g:mes projetsdelphi*.pas"
remplace la chaine "array[0..255] of char" par "string"
dans tous les fichiers "*.pas" du dossier "g:mes projetsdelphi"

replace -a"(S+)(s+)(S+)(s+)(S+)(s+)(S+)(s+)(S+)(s+)(S+)"
-n"$1$2$11$6$7$8$9$10$3$4$5" -fm:textesignature.txt -r
permute les mots 11 et 3,4,5 (en tenant compte des espaces)
Ainsi le texte : "May The Force be with You"
devient : "May You be with The Force"

Un aide-mémoire des expressions régulières est disponible p.ex. ici :
http://www.bellamyjc.org/fr/vbsobj/vspropattern.html


--
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