Blogia
Ambigel + Foto[b]log

Unir archivos de texto en windows

He estado ocupado mucho estos ultimos meses, pero he aprendido a ser mejor trabajador, a estar mas concentrado en mi trabajo, a obtener mas resultados por jornada, sin que esto signifique extenuacion.

En el desempeno de mi trabajo, siempre he necesitado unir archivos de texto, cuando utilizaba mi laptop personal era facil por que tenia linux (slackware) instalada en ella y era simplemente en una consola hacer lo siguiente...

$ for i in *.txt; do cat $i >> nuevoarchivo.txt; done

Pero en WINDOWS no conocia algo similar e importaba una y otra vez cada archivo en EXCEL, bueno, la solucion a este dilema es un pequeno programa llamado TXTCOLLECTOR, que mediante una simple e intuitiva interfase te permite realizar esta actividad, solo tienes que seleccionar en que carpeta estan los archivos, si vas a colocar una separacion que te indique donde empieza cada archivo y si queres colocarle a l comienzo como titulo la ruta del archivo importado, en mi caso deselecciono ambas acciones para lograr el mismo efecto de la linea de comandos que comento anteriormente.

Me disculpan que no incluya la URL de la pagina del TXTCOLLECTOR y las tildes, pero es que como en mi oficina esta bloqueado el dominio blogia, me toca hacer SSH hasta mi casa y desde alli postear desde el LINKS el navegador de texto de la consola de LINUX. Espero este programita pueda ayudar a muchos.

9 comentarios

José Manuel -

Donde pone
"copy *.txt > archivofinal.txt"
debe poner
"copy *.txt archivofinal.txt"
El ángulo sobraba.

¡Saludos!

José Manuel -

"copy *.txt > archivofinal.txt" funciona igual...
Igualmente une sin tener en cuenta si lo último es un CR+LF, por lo que si en la última fila de los ficheros no hay un salto, unirá la última fila del primer archivo con la primera del segundo.
Una variación de esto es copy a.txt+b.txt+c.txt resultado.txt
¡Saludos!

Ángel -

Con "type *.txt > archivofinal.txt" en la misma carpeta hace lo siguiente:

1) el archivo mas reciente lo copia en "archivofinal.txt"
2) cuando acaba con el archivo más reciente, en ese momento el más reciente pasa a ser el recién creado "archivofinal.txt", así que lo vuelve a copiar con lo que duplica el contenido del primero
3) copia el resto de txts

Para evitar esto hay que cambiar la extensión del archivo final, ejemplo:

"type *.txt > archivofinal.log"

La pega de este método es que concatena justo al final de cada archivo, con lo que si una de las partes no acaba con salto de línea, el archivo siguiente se copia justo a continuación.

Carlos Ardila - COLOMBIA -

He utilizado el metodo propuesto por SERGIo DE MADRID, pero me he dado cuenta que hay mucha perdida de información. En mi caso en la misma carpeta existe una copia del mismo archivo, con el mismo nombre pero otra extencion (.log que es un informe de errores que por lo general es un archivo en blanco) y me copia la informacion dos veces en el archivo final. Ya he intentado quitando los archivos .log dejando solo los TXT en la carpeta pero hay perdida de información y no simepre me copia los campos en el lugar adecuado..... NO SE SI ALGUIEN SABE COMO CORREGIR LO DE LA PERDIDA DE INFORMACION... yo intento unir un promedio de 20 archivos en uno solo.. agradesco cualquier ayuda.-..

Carlos Ardila -

Buenas Amigos... Muy interesante el tema y sobre todo de gran utilidad, pues desde hace mucho tiempo he buscado programas para hacer esto e incluso intente con lo poco que conozco de codigo VB para crear mi propia aplicacion y unir varios TXT, Pero graccias a este hilo he solucionado mi problema tansencillamente como lo plantea Sergio de Madrid.......

Jordan 11 -

Fondness is not frenzy, it is a power of life. Everyone has the right to pursue what he or her likes.

Gustavo Petro -

Interesante post, me ha sido de gran utilidad.

Un saludo.

Ambigel -

Sergio... gracias por el comentario, mañana lo probaré...

Cada día aprende uno algo nuevo

Sergio Madrid -

Para unir archivos de texto desde la linead de comandos en windows es "type *.txt > archivofinal.txt" (sin las comillas)

Asi te evitas instalar otros programas.

Saludos.