2009-10-01 21 views
33

que tienen la siguiente estructura de carpetas:¿Cómo copiar archivos desde el árbol de carpetas dejando caer todas las carpetas con Robocopy?

FolderA
--Folder1
--Folder2
--Folder3
...
--Folder99

carpetas 1 a 99 tener archivos en ellos.

Todo lo que quiero hacer es copiar TODOS LOS ARCHIVOS en UNA CARPETA, básicamente hago una copia de Carpeta, y elimino las Carpetas 1-99 manteniendo todos los archivos.

me gustaría hacerlo con Robocopy de cmd.exe si es posible (Windows Server 2008)

+0

Esto no parece como una pregunta de programación. – derobert

+0

ustedes pueden moverlo a SU o SF, no quiero borrarlo y perder una respuesta útil –

+0

¡Excelente pregunta señor! – KyleFarris

Respuesta

51

qué utilizar robocopy? Es una buena herramienta para una tarea específica, pero esta no es la indicada.

Usted puede simplemente utilizar lo cmd ya se le da:

for /r %f in (*) do @copy "%f" target 

Esto esencialmente se "aplanar" la jerarquía de directorios. for /r recorrerá un árbol de directorios recursivamente, buscando nombres de archivos que coincidan con el patrón dado. También puede especificar el directorio en el que desea comenzar:

for /r FolderA %f in (*) do @copy "%f" target 

Dentro del bucle, se trata simplemente de una copia simple del archivo en una carpeta específica.

+0

Hay 2 soluciones [aquí] (http://mlichtenberg.wordpress.com/2011/01/25/command-line-fun-how-to-flatten-a-folder-hierarchy/) si tiene archivos que no tienen nombres únicos. –

+0

¿Qué opción se puede usar cuando hay duplicados con el mismo nombre? – MostlyHarmless

+1

@Martin: ver 'help copy'. Es '/ y' – Joey

3

Robocopy es una gran herramienta ... cuando tienes un trabajo que puede manejar. ¿Por qué no usar xcopy?

Si tiene dos unidades sólo puede utilizar xcopy:

XCOPY C:\*.* D:\NewFolder\ /S 

O utilice XXCOPY por una unidad:

XXCOPY C:\*.* C:\NewFolder\ /S /CCY 

XXCOPY

+0

Es una descarga pequeña http://www.xxcopy.com/download/xxfw2982.zip – NitroxDM

+0

usuario/SGF atributo para copiar en una carpeta –

0
Get-ChildItem -Path source -Recurse -File | Move-Item -Destination dest 
Cuestiones relacionadas