elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Buscar archivos en subcarpetas - batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscar archivos en subcarpetas - batch  (Leído 12,737 veces)
Dead0922

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Buscar archivos en subcarpetas - batch
« 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!


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Buscar archivos en subcarpetas - batch
« Respuesta #1 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.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Dead0922

Desconectado Desconectado

Mensajes: 8



Ver Perfil
Re: Buscar archivos en subcarpetas - batch
« Respuesta #2 en: 14 Abril 2009, 10:00 am »

Muchas gracias... hice las modificaciones correspondientes para mi caso y me funciona de ptm! Un saludo!
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Buscar archivos en subcarpetas - batch
« Respuesta #3 en: 14 Abril 2009, 19:34 pm »

De nada.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines