Autor
|
Tema: Extraer Contenido de Txt BAT (Leído 4,503 veces)
|
Blender123
Desconectado
Mensajes: 1
|
Hola a todos me ayudarian con esto Tengo 1200 archivos txt En cada archivo necesito eliminar todo el texto y mantener unicamente el texto que se ecuntra entre estas palabras <!-- message --> texto <!-- / message --> y guardar cada archivo con un nuevo nombre: Ejemplo 0001.txt guardarlo con el nombre 0001B.txt y que repita el procedimiento con cada uno de los 1200 archivos. Ejemplo: 0001.txt Texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto , texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto <!-- message --> 1 - Papel 2 - Lapiz 3 - Agua <!-- / message --> Texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto , texto, texto, texto, texto, texto, texto, texto, texto, texto, texto, texto Resultado esperado:0001B.txt 1 - Papel 2 - Lapiz 3 - Agua Agradece de ayuda , de antemano muchas gracias.
|
|
« Última modificación: 2 Septiembre 2014, 03:48 am por Eleкtro »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Creo recordar que esto es un foro, no Freelancer.com, recuerdalo para la próxima vez, aquí no se hacen trabajos, se ayuda en las dificultades que tengas para hacer el trabajo por ti mismo. Aparte de eso, Batch es la peor elección como lenguaje para este tipo de tareas, deberías usar cualquier otro lenguaje capacitado para parsear documentos/nodos XML/Html para obtener los comentarios. Aquí tienes un ejemplo, esto que escribí puedes adaptarlo para procesar una serie de archivos, utilizando un For (y el comando Rename): Set "InputFile=.\Archivo.txt" Set "OutputFile=.\Archivo_New.txt" Set "CommentLineStart= <.--.[ ^/]" Set "CommentLineEnd= <.--./" For /F "Tokens=1 Delims=:" %%# in ( 'Type "%InputFile%" ^| Findstr /I /N "%CommentLineStart%"' ) For /F "Tokens=1 Delims=:" %%# in ( 'Type "%InputFile%" ^| Findstr /I /N "%CommentLineEnd%"' ) Echo Cut from line: %CutStart% to: %CutEnd% | MORE (For /F "Delims=" %%# in ( 'Type "%InputFile%"' If !LineCount! GTR %CutStart% If !LineCount! LSS %CutEnd% ( ) ))>"%OutputFile%"
Saludos.
|
|
« Última modificación: 2 Septiembre 2014, 04:00 am por Eleкtro »
|
En línea
|
|
|
|
Slikp
Desconectado
Mensajes: 67
|
Aparte de eso, Batch es la peor elección como lenguaje para este tipo de tareas, deberías usar cualquier otro lenguaje capacitado para parsear documentos/nodos XML/Html para obtener los comentarios.
- Saludos Eleкtro, sin ningun motivo de ofensa o sonar sarcástico lo menciono por si se hacen la idea, en repetidas ocasiones e visto que aconsejas lo mismo en ciertas circunstancias, y bueno la verdad es que yo considero que le haces honor a tu antiguo Nick Elektro Hacker y creo saber porque aconsejas siempre esto, sin embargo yo quisiera saber cual es el lenguaje que tu consideras mas eficiente para realizar dicha tarea y porque...
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Hola Slikp
No he comprendido porque relacionas mis sugerencias con mi antiguo nick "Elektro H@cker", pero si que es verdad que siempre que surge alguien que quiere resolver un problema de este estilo usando Batch intento hacerle saber que Batch no es una buena elección, el único motivo por el que sugiero esto es simple: Batch no fue diseñado para ciertas tareas complejas, pero ojo, no estoy insinuando que esta tarea en particular sea compleja para un programador, sino que es una tarea compleja para la capacidad de Batch. Parsear un documento de texto... Sí, pero parsear un tipo de documento estructurado... No.
No hay un mejor lenguaje para esta tarea, puedes hacerlo con cualquier lenguaje de hoy en día ...incluyendo Batch como te mostré, pero hay lenguajes (lenguajes de verdad, no Batch) que te proporcionan Classes y/o herramientas adicionales de terceros especializadas en este tipo de tareas con las que poder lograr un mejor rendimiento y fiabilidad y conseguir mejores resultados, como son Ruby, Python, o C# / VB.NET (entre otros).
¿Cual es el lenguaje en el que yo haría este tipo de tarea?: C# o VB.NET (ambos son "casi lo mismo" y se conseguiría el mismo resultado al menos para esa tarea) ¿Porqué?: Porque entre todos los lenguajes que he llegado a manejar este es el que decidí tomar como lenguaje principal ya que es el que más me gusta en todas sus características (hablo de VB.NET) las cuales no me voy a poner a describirlas ahora una por una, pero sin duda prefiero hacerlo en .NET que con Scripting. ¿Como lo haría?: En caso de que se trate de un archivo XML, pues parseando con la Class XmlDocument, y en caso de que se trate de un documento Html pues con la librería HtmlAgilityPack.
Si prefieres hacerlo en un lenguaje de Scripting entonces sinceramente no sabría cual recomendarte ni porqué, como ya he dicho puedes hacerlo en cualquiera ya que ofrecen herramientas especializadas, por ejemplo en Ruby tienes la gema 'Nokogori' y en Python2.X tienes el módulo Xml y en Python3.X el módulo Html, solo por nombrar alguna manera de hacerlo en ambos lenguajes, que haber hay más... una infinidad de librerías de terceros.
Mi consejo es que si no quieres complicarte la vida aprendiendo el uso de un lenguaje entonces utilices Batch para hacerlo, siguiendo el ejemplo que te mostré (te expliqué lo que necesitas añadirle al Script para que cumpla las necesidades).
Saludos!
|
|
« Última modificación: 5 Septiembre 2014, 19:52 pm por Eleкtro »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Extraer voz de un archivo o extraer la musica solamente !!!!!
Multimedia
|
magnox
|
2
|
3,974
|
28 Septiembre 2004, 17:16 pm
por theloop
|
|
|
[Ideas] Extraer contenido web
Programación Visual Basic
|
STARZ
|
7
|
3,896
|
4 Octubre 2011, 14:29 pm
por Psyke1
|
|
|
Extraer contenido de una tabla de otra web
« 1 2 »
PHP
|
javirk
|
13
|
8,932
|
5 Mayo 2012, 17:06 pm
por javirk
|
|
|
Ayuda para comparar dos archivos txt y extraer el contenido de uno de ellos??
Programación Visual Basic
|
valeeen
|
2
|
4,089
|
14 Julio 2015, 18:06 pm
por valeeen
|
|
|
Extraer contenido de pagina web a Formulario C#
.NET (C#, VB.NET, ASP)
|
_vicho_
|
2
|
4,737
|
5 Noviembre 2019, 18:17 pm
por _vicho_
|
|