
No puedo creer que esté teniendo problemas para copiar un directorio en otro directorio a través de la línea de comando de Windows.
Lo que quiero hacer es simple:
Digamos que tengo un directorio -:
C:\test
y quiero copiar la prueba a D: Entonces en D debería haber una carpeta como la siguiente:
D:\test
cuando uso
robocopy C:\test D:\test \E
La unidad D termina con el contenido de C:\test en la raíz en lugar de estar contenido en un directorio llamado test.
¿Cómo se hace esto tan simple?
Respuesta1
Si desea crear un duplicado exacto, use la siguiente versión (que equivale a agregar /E y /PURGE:
robocopy c:\source d:\destination /MIR
Si todo lo que quiere hacer es copiar los directorios y subdirectorios, incluidos los vacíos, utilice
robocopy c:\source d:\destination /E
Es la barra invertida en la opción E lo que te estaba atrapando.
Para obtener más información sobre Robocopy aquí hay una búsqueda útil:
Respuesta2
Me parece que el uso de robocopy
en las respuestas anteriores en realidad no responde la pregunta, es decir, copiar la carpeta de origen, con su contenido, a la carpeta de destino.
Lo siguiente es lo que funcionó para mí. Conserva las fechas de creación y registra las actividades tanto en un archivo como en la pantalla. También vuelve a intentar leer un archivo hasta 5 veces si no se puede acceder a él. Siéntase libre de modificar las banderas para adaptarlas a sus necesidades.
robocopy 'G:\Some Directory\A ' 'E:\Some Directory\A ' /e /dcopy:T /mt /tee /log:A.log /r:5
Dos observaciones que no me parecieron obvias:
- Las cadenas de ruta deben terminar con un espacio para que se cree el directorio raíz de origen en el destino, y no solo su contenido sin el directorio que lo contiene.
- El directorio raíz en el destino debe estar en la ruta de destino, aunque no salga antes de emitir el comando.
- Aún se conservará la fecha de creación original del directorio raíz.
Me sorprende que una operación tan comúnmente deseada como la que se pregunta no esté mejor documentada.
Respuesta3
Utilice Robocopy (copia robusta de archivos)
robocopy c:\test d:\test /s /e *.*
/sEl interruptor es para copiar todo.subdirectoriosy /miEl interruptor es para copiar todos lossubdirectorios vacíos&*.*medio (todos los archivos).(cualquier extensión)
sintaxis:
robocopy source-folder destination-folder files switches
Por favor visitaesteenlace para más información sobre robocopia.
Respuesta4
Aunque esta respuesta no utiliza robocopy
, creo que todavía tiene el propósito de copiar directorios.
Podrías intentar usar:xcopy
Uso:xcopy source [destination] ...
Puede verificar más detalles ejecutandoxcopiar /?
Fuente:CÓMO: copiar una carpeta a otra carpeta y conservar sus permisos.