Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: cialem en 18 Julio 2012, 15:02 pm



Título: Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Publicado por: cialem en 18 Julio 2012, 15:02 pm
Necesito unir 59.000 archivos que tienen una cantidad de lineas considerables, lo uni por medio de un comando MS-DOS "copy *.* lista.txt" corrido en la ruta donde se encuentraban los archivos y me une todos los archivos, pero necesita además que indique para cada linea de archivos el nombre de archivo al que pertenece, para despues cargarlo en access.  :huh:


Título: Re: Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Publicado por: Eleкtro en 18 Julio 2012, 15:37 pm
Código
  1. @Echo OFF
  2.  
  3. Set "TempFile=ALL.txt"
  4.  
  5. If exist "%TEMPFILE%" (Del /Q  "%TEMPFILE%")
  6.  
  7. For /R %%# in ("*.txt") Do (
  8. For /F "tokens=*" %%X in ('Type "%%#"') Do (
  9. Echo %%~nx#: %%X >> "%TEMPFILE%"
  10. )
  11. )
  12.  
  13.  

output:
Código:
archivo1.txt: linea1 archi1 
archivo1.txt: linea2 archi1
archivo1.txt: linea3 archi1
archivo2.txt: linea1 archi2
archivo2.txt: linea2 archi2
archivo2.txt: linea3 archi2
archivo3.txt: linea1 archi3
archivo3.txt: linea2 archi3
archivo3.txt: linea3 archi3

Saludos.


Título: Re: Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Publicado por: cialem en 18 Julio 2012, 15:46 pm
Corri las sentencias que mandaste, me crea el arhivo all.txt, pero no me guarda la informacion de los archivos que tengo en esa direccion


Título: Re: Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Publicado por: Eleкtro en 18 Julio 2012, 15:53 pm
no me guarda la informacion de los archivos que tengo en esa direccion
No has especificado la extensión de tus archivos, Igual que no has dado ningún ejemplo de como debe quedar la lista final, pides mucho sin dar info a cambio.
Mi script trabaja sobre archivos .txt, solo tienes que cambiarle la extensión al code.
Código:
For /R %%# in ("*.*")

Si lo prefieres ejecutar desde la consola, hazlo así:
Código
  1. @Echo off & For /R %# in ("*.*") Do (Echo %~nx# [OK!] & For /F "tokens=*" %X in ('Type "%#"') Do (Echo %~nx#: %X >> "_ALL.tmp"))

output:
(http://img337.imageshack.us/img337/8373/prtscrcapturew.jpg)

Saludos.


Título: Re: Unir archivos y agregar el nombre de archivos a cada linea por MS-DOS
Publicado por: cialem en 18 Julio 2012, 16:13 pm
Si me sirvió, muchisimas gracias....  ;-) ;-)