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 - movaj

#1
Buenos días,

Necesito hacer un script en batch para que obtenga diferente información de ficheros XML y los liste en un CSV o similar (para usarlo en Excel).

El código que os dejo más abajo obtiene primero el listado completo de archivos (esto funciona bien). El problema a partir de ahí es que no soy capaz de obtener, por cada uno de los ficheros, la información que necestito.

echo off
REM Lectura de archivos
setlocal disableDelayedExpansion
for /f "tokens=1* delims=:" %%A in ('dir /b /A:-D /O:N^|findstr /n "^"') do (
 set "file.%%A=%%B"
 set "file.count=%%A"
)
pause

REM listado de archivos
setlocal enableDelayedExpansion
for /l %%N in (1 1 %file.count%) do set count=%%N
for /l %%N in (1 1 %file.count%) do echo !file.%%N!;>>list.csv
for /l %%N in (1 1 %file.count%) do call :start
pause

REM Extracción de datos por cada archivo
set filenum=0

:start
set archivo=!file.%%N!
setlocal enableextensions disabledelayedexpansion
set "OrgnlMsgId="
  for /f "tokens=2 delims=<>" %%a in (
      'find /i "<OrgnlMsgId>" ^< %archivo%'
   ) do set "OrgnlMsgId=%%a"
echo %OrgnlMsgId%>>list.csv
setlocal enableDelayedExpansion
exit /b

:next
pause
exit


La parte que falla es la de "Extracción de datos por cada archivo".
¿Quien puede ayudarme?