J'ai un fichier XML et j'ai un fichier batch pour rechercher une chaîne spécifique dans ce fichier, la remplacer par une chaîne définie par l'utilisateur et la sortir dans un nouveau fichier XML:Problème de recherche et de remplacement du fichier de commandes
@echo off > entities_1.xml
setLocal EnableDelayedExpansion
if exist entities_1.xml del entities_1.xml
set /p name= What is the new space NAME?
for /f "tokens=* delims= " %%G in (entities.xml) do (
set str=%%G
set str=!str:[Test Space]=[%name%]!
echo !str! >> entities_1.xml
)
Ce travail et toutes les instances de [Test Space] sont remplacés par la valeur définie par l'utilisateur.
Mon problème, cependant, est que le fichier batch supprime AUSSI des instances de points d'exclamation (!). Ainsi, par exemple dans le fichier XML il y a des lignes similaires à ceci:
<property name="title"><![CDATA[TEST2]]></property>
Lorsque le script batch est exécuté, il remplace le ci-dessus:
<property name="title"><[CDATA[TEST2]]></property>
à savoir dépouillant le!
Où est-ce que je me trompe? Des idées?
duplication possible de [Rechercher une chaîne et remplacer des lettres spécifiques dans un fichier batch] (http://stackoverflow.com/questions/17085650/find-a-string-and-replace-specific-letters-in-batch-file –