Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Xpolze en 21 Noviembre 2013, 13:23 pm



Título: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Xpolze en 21 Noviembre 2013, 13:23 pm
Hola, buenos dias, soy nuevo en este foro y necesito, si es posible, que me ayuden a automatizar una tarea.

Necesito copiar un archivo del disco C y pegar ese archivo en todas las subcarpetas de una carpeta.

Código:
@echo OFF
xcopy "C:\test.txt" "C:\prueba" /Y
pause

El archivo "test.txt" se me pega solo en la carpeta prueba, pero necesito que también se pegue en todos los subdirectorios de la carpeta prueba. Supongo que hay que hacer un FOR. ¿Me pueden ayudar?. Gracias


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Almapa en 21 Noviembre 2013, 14:08 pm
Prueba a hacer algo del tipo:

Código:
for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba*"') do (copy "C:\test.txt" "%%G\test.txt")

No se si funciona correctamente, pues no tengo tiempo para probarlo.

Un saludo


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Xpolze en 21 Noviembre 2013, 14:55 pm
Gracias, si funciono

Pero si ahora quiero copiar una carpeta, ¿Cómo hago?

Osea me refiero que ahora el archivo test.txt esta dentro de C:\test\test.txt y quiero copiar la carpeta test y pegarla en todos los subdirectorios de la carpeta prueba sobreescribiendo si ya existe el archivo. Gracias


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Almapa en 21 Noviembre 2013, 15:07 pm
Prueba así:

Código:
for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba*"') do (xcopy "C:\test" "%%G\" /I /Y)


No se si será  "%%G\" o "%%G"


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Xpolze en 21 Noviembre 2013, 15:24 pm
No funciona, probé las dos alternativas que pusiste y nada

EDIT: Me sigue copiando el archivo test.txt en cada subdirectorio de prueba pero no la carpeta test.

Código:
for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba\*"') do (xcopy "C:\test" "%%G" /I /Y)


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Almapa en 21 Noviembre 2013, 15:43 pm
Qué raro, y así?

Código:
for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba\*"') do (xcopy "C:\test" "%%G\test" /I /Y)


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Xpolze en 21 Noviembre 2013, 15:46 pm
Ahi si funciono, muchas gracias Almapa. Exitos


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Xpolze en 22 Noviembre 2013, 11:48 am
Buenos diás, ya hice funcionar el programa, pero quisiera saber cual es el atributo para que no sobreescriba los archivos que ya existan, gracias.


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Eleкtro en 22 Noviembre 2013, 14:39 pm
@Xpolze

Busca antes de preguntar

En consola:

Código:
XCopy /?

Cita de: Xcopy Help
Código:
  /Y           Suprime la petición de confirmación de sobrescritura de un archivo de destino existente.
  /-Y          Pide confirmación de sobrescritura de un archivo de destino existente.

Saludos!


Título: Re: [BATCH] Copiar un archivo y pegarlo en todos los subdirectorios
Publicado por: Almapa en 23 Noviembre 2013, 00:12 am
Mmmm pero supongo que querrá que se haga sin preguntar. Imagino. Y no he encontrado esa opción para Xcopy