Necesito recorrer con un script en batch un archivo de y en cada linea modificar ciertos caracteres. El script es el siguiente:
Código
@echo off setlocal enabledelayedexpansion for /F "tokens=*" %%x in (file.xml) do ( set linea=%%x set linea=%linea:script=XXXXXX% echo !linea!>>file.xml) )
Basicamente si quito la segunda linea de dentro del bucle me hace un volcado completo del xml pero si la dejo me da errores de tipo:
No se esperaba >& en este momento.
Hay que tener en cuenta que el xml puede tener " & > < y %.
He probado a hacer la siguiente modificación:
Código
Pero me desaparecen los signos % al pasar el parametro a la función.
@echo off for /F "usebackq tokens=*" %%x in (file.xml) do ( call :tratalinea "%%x" ) goto sustituirCambios :tratalinea set linea=%1 set linea=%linea:<=^<% set linea=%linea:>=^>% set linea=%linea:&=^&% set linea=%linea:script=XXXXXX% echo %linea:~1,-1%>>file.tmp goto :eof :sustituirCambios ren file.tmp file_edit.xml :fin
¿¿¿Alquien me puede ayudar???