55 votos

¿Cómo copiar la estructura de un directorio sin copiar los archivos?

Tengo una carpeta con muchas subcarpetas y archivos en ellas. ¿Hay alguna manera de copiar la estructura de directorios de carpetas y subcarpetas sin copiando los archivos que contienen, usando cmd o powershell?

51voto

Michael Mantion Puntos 154

Si quieres copiar las carpetas vacías también.

xcopy C:\Folders D:\Folders /t /e

1 votos

correcto, /e también debería utilizarse.

1 votos

XCOPY Build en Powershell por defecto y funciona perfectamente.

30voto

iPath Puntos 246

Sí. XCOPY

XCopy source {destination}  /t

ejemplo

xcopy C:\Folders D:\Folders /t

más sobre xcopy se puede encontrar aquí http://ss64.com/nt/xcopy.html

6 votos

Debe añadir /e para copiar también carpetas vacías

25voto

Theodore Puntos 21

Aunque XCOPY todavía funciona, Windows Vista y posteriores incluyen ROBOCOPY que tiene más características. La sintaxis general para copiar un árbol de carpetas (incluyendo las carpetas vacías) sin los archivos es:

robocopy "A:\Source folder" "B:\Destination folder" /e /xf *

1voto

livedo Puntos 765

Mira Aplicación de 47 carpetas herramienta gratuita y práctica de Windows, hace exactamente lo que necesitas a través de una buena interfaz gráfica de usuario. enter image description here

0voto

Ariane Puntos 1294

Probablemente haya una solución mejor, pero yo vería esto:

  • Copia todo, luego vacía las carpetas con un script.

  • Haz un script que copie todo si no tiene extensión. A menos que tengas archivos sin extensión en las carpetas, lo cual no deberías, debería funcionar, porque, bueno. Las carpetas no tienen extensiones. Algo que se vería así en pseudocódigo:

open_directory($path);
while($file=get_directory_content) {
if(empty(get_file_extension($file)) {
copiar_el_archivo($archivo,$destino);
}
}
cerrar_directorio;

0 votos

Desgraciadamente, tenemos archivos sin extensión. Desde los marcadores de posición para los repositorios de código, hasta algunos archivos de datos específicos.

0 votos

Oh. Bueno. Tal vez hay un if(es una carpeta) cosa, entonces. Pero uhm. Lo de xcopy de arriba parece que es lo adecuado para ti entonces. A menos que no lo sea, en cuyo caso puedes ejecutar un script para 1. copiar todas las carpetas y 2. vaciar todas las carpetas. O algo así. Pero esto es... Largo. xD

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X