Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dead0922 en 13 Abril 2009, 13:51 pm



Título: Buscar archivos en subcarpetas - batch
Publicado por: Dead0922 en 13 Abril 2009, 13:51 pm
Hola, soy nueva en esto de batch,
quisiera saber como hago lo siguiente:
me piden que ingrese el nombre de una carpeta y buscar un archivo de determinada extension dentro de la carpeta y subcarpetas, una vez q lo encuentra,copiarlo en otra carpeta...
lo de copiar sale bien, la búsqueda por ahora la hago con IF EXISTS.. pero solo me funciona para la carpeta mas no para las subcarpetas... entonces ahi está el problema.
Espero me ayuden.
Gracias!


Título: Re: Buscar archivos en subcarpetas - batch
Publicado por: leogtz en 13 Abril 2009, 21:16 pm
Ejemplo practico :
En las siguientes subcarpetas quiero comprobar que exista el archivo "file.txt" y asi copiarlo a la ruta C:\
pero se nos presenta un problema, que los archivos que si encuentre serán copiados con el nombre "c:\file.txt"
por lo que podrían ser reescritos, asi que nos ayudaremos de la variable RANDOM, para generar un numero aleatorio.
Código:
C:\Archivos>dir /b /s /ad
C:\Archivos\docs
C:\Archivos\docs\docs
C:\Archivos\docs\docs\docs

C:\Archivos>

Código
  1. @echo off
  2. :: Nos cambiamos a la ruta donde trabajaremos con los archivos.
  3. cd /d "%homedrive%\archivos"
  4. for /d /r %%_ in (*) do (
  5. if exist "%%_\file.txt" (
  6. call :copia "%%_\file.txt"
  7. )
  8. )
  9. goto:eof
  10. :copia
  11. copy /y %1 "%homedrive%\file-%random:~0,2%.txt"
  12. goto:eof

Si algunos archivos son encontrados te debe de dar en pantalla algo como :
       
Código:
1 archivos copiados.
        1 archivos copiados.
        1 archivos copiados.
Press any key...
Ahora, checamos que los archivos hayan sido copiados :
Código:
C:\>dir /b file*
file-15.txt
file-46.txt
file-49.txt

C:\>

Saludos.


Título: Re: Buscar archivos en subcarpetas - batch
Publicado por: Dead0922 en 14 Abril 2009, 10:00 am
Muchas gracias... hice las modificaciones correspondientes para mi caso y me funciona de ptm! Un saludo!


Título: Re: Buscar archivos en subcarpetas - batch
Publicado por: leogtz en 14 Abril 2009, 19:34 pm
De nada.