Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: mcricar en 18 Febrero 2013, 23:03 pm



Título: ayuda con bash copiar archivos
Publicado por: mcricar en 18 Febrero 2013, 23:03 pm
buena tarde

he estado leyendo sobre los Bash y quiero hacer uno para facilitar mi trabajo, resulta que tengo varias imagenes con diferentes nombres ubicadas en un disco compartido en red y tengo que buscar una por una teniendo como base un archivo con los nombres de las imagenes a buscar, mi pregunta es ¿se puede hacer un Bash para que me busque esa imgenes las copie en una carpeta ubicada en el escritorio de mi equipo?
para no tener que buscarlas una por una con el buscador de windows


Título: Re: ayuda con bash copiar archivos
Publicado por: Eleкtro en 18 Febrero 2013, 23:58 pm
Hola,
Te refieres a Batch, Bash se usa en Linux :P

Esto te servirá, símplemente tienes que modificar las rutas de las variables:

Código
  1. @Echo OFF
  2.  
  3. Set "File=\\directorio de RED\Archivo de texto.txt"
  4. Set "Dir=C:\Directorio de salida\"
  5.  
  6. For /F "usebackq tokens=*" %%# in ("%FILE%") DO (
  7.    Echo [+] Copying: "%%#" ...
  8.    Copy /Y "%%#" "%Output%\"
  9.    CLS
  10. )
  11.  
  12. Pause&Exit

Edito: He supuesto que el archivo de texto contiene las rutas absolutas, si sólo contiene los NOMBRES (Filenames) de los archivos entonces deberás retocar un poco más el código.

Saludos


Título: Re: ayuda con bash copiar archivos
Publicado por: mcricar en 19 Febrero 2013, 00:26 am
muchas gracias EleKtro H@cker pero tengo que ser sincero y la verdad no entendi nada estoy es nuevo para mi, hasta hoy empese a leer sobre el tema  :-( de antemano muchas gracias por tu ayuda.

PD: podrias explicarme mejor sobre el tema ?? bueno especificamente en este caso  ;D


Título: Re: ayuda con bash copiar archivos
Publicado por: Eleкtro en 19 Febrero 2013, 10:15 am
Es dificil explicar desde cero si no sabes nada, tienes que leer lo básico para entender.
Te recomiendo que te léas mi tutorial, al menos la parte de las definiciones, los primeros pasos, y los operadores (todo está en la primera página) > Tutorial extendido de aprendizaje Batch  (http://foro.elhacker.net/empty-t375135.0.html)

Y si tienes dudas con algún comando en particular, puedes leer aquí: http://ss64.com/nt/





Esto es lo que hace el script que te puse:

1. (SET) Definimos la variable de la ruta ruta del archivo de texto que contiene las rutas absolutas de las imágenes
2. (SET) Definimos la variable de la ruta donde se copiarán las imágenes

3. (FOR) - Es un búcle que procesa el contenido (línea a línea) del archivo de texto.
4. (Echo) Sirve para mostrar una cadena de texto en la consola, y con ello mostramos el nombre del archivo que se está procesando.
5. (Copy) el nombre del comando lo indica todo, sirve para copiar el archivo a la carpeta de destino.
6. (CLS) sirve para limpiar la pantalla de la consola, puedes eliminar este comando en el script que te puse si no te gusta el efecto que hace.
  
Si no entiendes algo en particular, pregunta (pero goglea antes porfavor), %%# es una variable especial de "FOR", y en ella se almacena (en este caso) la línea del archivo.

Saludos