Page 1 sur 1

Remplacer une chaîne de caractères dans un fichier

Posté : 16 déc. 2021 04:33
par SMIET
Salut,

Je cherche à modifier une chaine de caractère dans un fichier .cfg

@echo off&cls
set $fichier="C:\chemin du fichier\test.cfg"
set $chaine=Texte a remplacer
set $remplace=Texte de remplacement

if exist " C:\chemin du fichier\test1.cfg " del " C:\chemin du fichier\test1.cfg "

setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('type %$fichier%') do (
set $ligne=%%a
set $ligne=!$ligne:%$chaine%=%$remplace%!
echo !$ligne! >>" C:\chemin du fichier\test1.cfg ")

Del " C:\chemin du fichier\Test.cfg"
Rename " C:\chemin du fichier\Test1.cfg" "Test.cfg"



Par contre quand je veux mettre les lignes (celles de couleurs verte) :

@echo off&cls
set $fichier=" C:\chemin du fichier\test.cfg"
set $chaine=<key name="IsEnabled" type="bool" value="1"/>
set $remplace=<key name="IsEnabled" type="bool" value="0"/>

if exist " C:\chemin du fichier\test1.cfg " del " C:\chemin du fichier\test1.cfg "
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('type %$fichier%') do (
set $ligne=%%a
set $ligne=!$ligne:%$chaine%=%$remplace%!
echo !$ligne! >>" C:\chemin du fichier\test1.cfg ")

Del " C:\chemin du fichier\Test.cfg"
Rename " C:\chemin du fichier\Test1.cfg" "Test.cfg"


Ça ne modifie pas la ligne

set $chaine=<key name="IsEnabled" type="bool" value="1"/>
En
set $remplace=<key name="IsEnabled" type="bool" value="0"/>



Quelqu'un à une idée ?!

Merci