Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - diablo_jr

#1
Scripting / edicion de fichers de texto
19 Abril 2011, 09:01 AM
Buenas a todos.

Necesito recorrer con un script en batch un archivo de y en cada linea modificar ciertos caracteres. El script es el siguiente:

Código (bash) [Seleccionar]
@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 (bash) [Seleccionar]
@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

Pero me desaparecen los signos % al pasar el parametro a la función.

¿¿¿Alquien me puede ayudar???