[BATCH] Copiar un archivo y pegarlo en todos los subdirectorios

Iniciado por Xpolze, 21 Noviembre 2013, 13:23 PM

0 Miembros y 1 Visitante están viendo este tema.

Xpolze

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.

@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

Almapa

Prueba a hacer algo del tipo:

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

Xpolze

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

Almapa

Prueba así:

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"

Xpolze

#4
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.

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

Almapa

Qué raro, y así?

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

Xpolze


Xpolze

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.

Eleкtro

@Xpolze

Busca antes de preguntar

En consola:

XCopy /?

Cita de: Xcopy Help  /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!








Almapa

Mmmm pero supongo que querrá que se haga sin preguntar. Imagino. Y no he encontrado esa opción para Xcopy