Respuestas:
Si desea copiar carpetas vacías también.
xcopy C: \ Carpetas D: \ Carpetas / t / e
Sip. XCOPY
XCopy source {destination} /t
ejemplo
xcopy C:\Folders D:\Folders /t
Puede encontrar más información sobre xcopy aquí http://ss64.com/nt/xcopy.html
Método de PowerShell que no requiere copiar cada archivo y luego eliminarlos:
Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}
O más sucintamente:
copy .\source C:\path\to\copy -r -fi PSIsContainer
El único truco interesante aquí es el filtrado en la PSIsContainer
propiedad, que es cierto para directorios pero no para archivos.
Mire la aplicación 47folders, una herramienta gratuita y útil de Windows, hace exactamente lo que necesita a través de una buena GUI.
ADVERTENCIA: El enlace anterior ( http://47foldersapp.com/ ) ahora (noviembre de 2017) conduce a la publicidad de ropa. La última buena copia del Archivo de Internet está aquí . El software aún puede estar disponible en sitios de descarga de software gratuito como este .
Probablemente haya una mejor solución, pero vería estas:
Copie todo, luego vacíe las carpetas con un script.
Haga un script que copie todo si no tiene extensión. A menos que tenga archivos sin una extensión en las carpetas, que no debería, debería funcionar, porque, bueno. Las carpetas no tienen extensiones. Algo que se vería así en pseudocódigo:
open_directory ($ ruta);
while ($ file = get_directory_content) {
if (empty (get_file_extension ($ file))) {
copy_the_file ($ archivo, $ destino);
}
}
close_directory;
Use PowerShell para hacer eso usando. Haga una copia de la carpeta y luego
Remove-Item -Path "C:\test\*.*" -recurse
Acabo de usar el freeware Miroirs, que simplemente copiaba solo carpetas, no los contenidos (aunque esa es una opción).
Por lo que sé, hay software de terceros que puede proporcionar esta funcionalidad si desea hacerlo con el símbolo del sistema, entonces el comando copiar está disponible. escriba
help copy en cmd que proporciona detalles sobre cómo copiar archivos a través de cmd.
después de copiar ir a la carpeta a través de cmd y ejecutar el comando
del *. *que elimina archivos porque las carpetas no tienen. personaje
/e
debe usarse.