Copiar contenido de un subdirectorio con DOS
Resuelto
BadGamer
Mensajes publicados
694
Estado
Miembro
-
BadGamer Mensajes publicados 694 Estado Miembro -
BadGamer Mensajes publicados 694 Estado Miembro -
Hola,
Lo que quiero hacer debería ser muy simple, pero no puedo...
Básicamente, tengo una carpeta "Fotos" que contiene subcarpetas
2010
2011
2012
Y en cada directorio hay fotos en .png, me gustaría hacer este comando para fusionar las subcarpetas en un nuevo
Pero tengo la impresión de que el \*\ para decir "todas las carpetas" no funciona... ¿alguna idea? =)
Configuración: Windows 7 / Chrome 23.0.1271.97
Lo que quiero hacer debería ser muy simple, pero no puedo...
Básicamente, tengo una carpeta "Fotos" que contiene subcarpetas
2010
2011
2012
Y en cada directorio hay fotos en .png, me gustaría hacer este comando para fusionar las subcarpetas en un nuevo
copy .....\Fotos\*\*.png .....\FotosFusion\
Pero tengo la impresión de que el \*\ para decir "todas las carpetas" no funciona... ¿alguna idea? =)
Configuración: Windows 7 / Chrome 23.0.1271.97
3 respuestas
-
Creo que hay que usar xcopy para copiar los subdirectorios
y de memoria diría
xcopy /E c:\toto\*.* d:\"tu rep bachup"
o /s si no quieres los directorios vacíos
ahí debería copiarte todos los subdirectorios de toto y los archivos en la carpeta de respaldo
pero bueno, no sé si es exactamente lo que quieres hacer
nicolas -
Con PowerShell, puedes utilizar el parámetro -container de copy-item:
copy-item source destination -recurse -container:$false
La línea anterior copiará todos los archivos de <source> "plano" en el
directorio <destination>. El único inconveniente es que también recreará los directorios
que están en la raíz de <source> (aunque estos directorios aparecerán vacíos
en <destination>, todos los archivos serán correctamente copiados a la raíz de
<destination>).
Otra forma de proceder que no presenta este inconveniente:
dir source -recurse | where {!$_.PSIsContainer} | foreach {copy $_.fullname
destination}
o
XCOPY con un FOR.
Ejemplo:
FOR /R c:\rsource %%a IN (.) DO XCOPY %%a c:\rdestination /Y
a hacer en un batch
aquí tienes lo que debería permitirte hacer lo que quieres
por favor confírmame si está bien o no para que lo ponga a disposición en mi sitio
nicolas -
¡Super, gracias! La solución era esta. Aquí está mi archivo bat:
FOR /R C:\RepSource %%a IN (.) DO XCOPY %%a C:\RepArrive /Y
pause
el pause probablemente es innecesario
Muchas gracias =)
Edit: de hecho, he perdido 100MB entre los directorios de origen y de llegada... voy a buscar dónde está el problema...
Edit2: Al principio tengo 719 elementos y al llegar 588... ¿hay alguna opción para renombrar y no eliminar en caso de mismo nombre? Porque creo que el problema viene de archivos con el mismo nombre...-
no creo que lo vaya a intentar, voy a tratar de ver esto por la mañana si te encuentro una respuesta.
de lo contrario, intenta ver con robocopy, tal vez haya una opción que funcione
http://dourd1.free.fr/wordpress-3.0.3/wordpress/?p=29 -
-
-
-