Título: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: PUCH84 en 24 Abril 2014, 16:00 pm Hola,
tengo un script mega sencillo que me ayuda para concatenar archivos de texto ordenados simplemente ejecutandolo. Sería este: Código: @Echo OFF La pega es que concantenaría todos los ficheros de txt presentes en el directorio y querría hacerlo sólo los ficheros que yo le indicara, había pensado intentar arrastrarlo al .bat para simplificarlo, he encontrado info en varios hilos del foro pero no consigo concretarlo... Para poder arrastrar el fichero al icono del .bat he leido este ejemplo de otro hilo que me permite arrastrar y ver la ruta de un archivo: Código: @Echo OFF Pero no consigo unir los dos códigos para que me funcione correctamente, alguien me podría echar una mano? Muchas gracias, un saludo Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: Eleкtro en 24 Abril 2014, 17:11 pm Un ejemplo para arrastrar y soltar archivos a la consola:
[Batch] [Aporte] (O eso creo xD) Consola de reciclaje v1.0 By Elektro (http://foro.elhacker.net/buscador-t352556.0.html) Si los quieres "concatenar" de forma más interna, solo debes cambiar/adaptar el patrón de búsqueda del comando Copy... Código: copy /A "*NombreParcial*.txt" "script_total.txt" o: Código: copy /A "Nombre Completo 1.txt"+"Nombre Completo 2.txt" "script_total.txt" Saludos Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: PUCH84 en 24 Abril 2014, 17:28 pm Gracias por responder Elektro, estoy revisando el código que indicas y parece un poco complicaete, estuve viendo que el tema de arrastrar a la consola parece más complicado no? yo con arrastrar al icono del batch me conformo que es lo que estuve viendo en el 2º ejemplo que puse.
El problema es que no sé como tratar los argumentos que introduzco al arrastrar para que luego el copy me funcione... EDITO: He llegado a esta conclusión para 3 archivos y hace lo que quiero, pero no estoy muy familiarizado con bucles en BATCH, como podría hacerlo para todos los casos? Código: @Echo OFF Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: Eleкtro en 24 Abril 2014, 19:11 pm En Batch puedes pasar 255 argumentos, pero solo 9 de ellos se pueden usar (%1-%9), para seguir usando el resto de argumentos necesitas usar el comando SHIFT para desplazar a la izquierda el última argumento (%8<<%9<<%10), y así sucesivamente hasta terminar con los argumentos que pasaste.
Lo considero una completa pérdida de tiempo porque Batch es así de simple, la simpleza es el peor de sus defectos y esto lo convierte en una herramienta en la que es necesario invertir demasiado tiempo para escribir el código para realizar una tarea que debería ser simple y así lo es en cualquier otro lenguaje, así que para no perder el tiempo, te escribiré una solución en VBS: Código
Saludos Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: PUCH84 en 27 Abril 2014, 23:49 pm Hola Elektro
gracias por contestar, tengo poca idea de VBscripting, el procedimiento para ese código como sería? Lo guardo como .vbs supongo no? como le introduzco los argumentos? He probado a arrastrar los archivos al icono que era lo que quería hacer en BATCH pero no me funciona, en cambio ejecutándolo con doble click sí me genera el fichero CombinedTextFiles vacío. Un saludo. Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: Eleкtro en 28 Abril 2014, 08:00 am He probado a arrastrar los archivos al icono que era lo que quería hacer en BATCH pero no me funciona, en cambio ejecutándolo con doble click sí me genera el fichero CombinedTextFiles vacío. Lo que ocurre es que al arrastrar y soltar archivos en el icono, el directorio de trabajo actual del Script cambia a "C:\Windows\System32", y el archivo combinado se crea en ese directorio, debes asignar la ruta correcta.Reemplaza: Citar Código: TextFile = ".\CombinedTextFiles.Txt" Por: Código: TextFile = "C:\CombinedTextFiles.Txt" O por: Código: TextFile = Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "CombinedTextFiles.Txt" Saludos Título: Re: Como puedo arrastrar y concatenar archivos de texto en un BATCH Publicado por: PUCH84 en 28 Abril 2014, 09:49 am Joder muchas gracias funciona perfecto! eres el amo :)
Un saludo |