Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: nniki999 en 26 Octubre 2016, 13:02 pm



Título: extraer texto de una cadena (1 sola línea)
Publicado por: nniki999 en 26 Octubre 2016, 13:02 pm
Buenos días,
seguro que es moy simple... pero no doy con la tecla, y el ejemplo que he encontrado en el foro lo hace por líneas, pero yo tengo un txt con solo una línea.

el archivo es en realidad un xml, pero entiendo que es igual (también lo estoy probando en txt).
el texto que incluye es muy largo, pero en algun momento aparece la cadena:
<dc:creator>niki</dc:creator>
de donde quiero extraer, en este caso, "niki" y sacarla a un archivo. Es decir, detectar <dc:creator> y </dc:creator> y sacar lo que haya dentro.
la posicion de las cadenas es variable, por lo que no puedo "contar" posiciones.

Gracias por su tiempo!

(estoy trabajando en ello con el ejemplo de la primera página del manual, pero no sé si falta código en una de las líneas....??? (o no lo entiendo):

Código
  1. @echo off
  2. for /f "tokens=1 delims=:" %%x in ('type "texto.txt" ^| findstr /n "Start-of-data"') do (set /a inicio=%%x)
  3. for /f "tokens=1 delims=:" %%x in ('type "texto.txt" ^| findstr /n "End-of-data"') do (set /a fin=%%x)
  4. set /a inicio+=1
  5. set /a fin-=1
  6. [b]for /f "tokens=2 delims=:" %%x in (' [/b]
  7. ^(
  8. echo %inicio%^,%fin%l
  9. ^) ^|edlin /b texto.txt^| find /v "*%inicio%,%fin%l"^|find /v "Final del archivo de entrada"^|find /v "*e"') do (
  10. echo %%x
  11. )


Mod: Los códigos deben ir en etiquetas GeSHi