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

Le
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
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Jean-Claude BELLAMY
Le #1086043
Dans le message :,
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 ?


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

Poster une réponse
Anonyme