elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Batch - Obtener datos de listado de ficheros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Batch - Obtener datos de listado de ficheros  (Leído 1,989 veces)
movaj

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Batch - Obtener datos de listado de ficheros
« en: 24 Enero 2017, 11:24 am »

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.

Código:
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?


« Última modificación: 24 Enero 2017, 13:45 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.806



Ver Perfil
Re: Batch - Obtener datos de listado de ficheros
« Respuesta #1 en: 24 Enero 2017, 13:39 pm »

hacer un script en batch para que obtenga diferente información de ficheros XML

El problema ... es que no soy capaz de obtener ... la información que necestito.

La parte que falla es la de "Extracción de datos por cada archivo".

Citar
¿Quien puede ayudarme?

¿Y si empiezas por especificar a que tipo de información te estás refiriendo y muestras uno de esos archivos Xml para que podamos conocer su estructura?, no somos adivinos.

De todas formas, si pretendes parsear la estructura/nodos de un archivo Xml con Batch para obtener el valor de alguna propiedad o atributo o etc, entonces te conviene utilizar cualquier otro lenguaje o en su defecto seguir utilizando Batch pero haciendo uso de la herramienta command-line de terceros XmlStarlet para simplificar y perfeccionar el procedimiento: https://sourceforge.net/projects/xmlstar/files/

Saludos!


« Última modificación: 24 Enero 2017, 13:50 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener handles de ficheros asociados a un proceso
.NET (C#, VB.NET, ASP)
mmob 8 5,386 Último mensaje 17 Diciembre 2007, 17:43 pm
por mmob
BATCH: copiar archivos a un listado de IP
Scripting
vagosoft 4 7,405 Último mensaje 7 Julio 2009, 00:36 am
por vagosoft
obtener listado de impresoras c#
.NET (C#, VB.NET, ASP)
carlokito 1 9,777 Último mensaje 25 Junio 2011, 22:54 pm
por DaNuK
Listado de Ficheros
Software
P.AGCD 3 2,127 Último mensaje 12 Julio 2011, 18:53 pm
por SuperDraco
Cómo obtener un listado de todas las aplicaciones instaladas en el PC
Noticias
wolfbcn 0 2,708 Último mensaje 22 Noviembre 2016, 14:41 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines