xcopy arquivos em um único diretório

16

Gostaria de usar o xcopy em uma máquina Windows para extrair todos os arquivos com a extensão .png em um único diretório.

Eu tentei xcopy C:\folder\*.png /s C:\png\ , mas ele está mantendo os subdiretórios dentro da pasta \ (por exemplo, em C: \ png, há C: \ png \ a \ b \ c \ img.png) que eu não não quer. Eu simplesmente quero tudo .png dentro de C: \ png sem que ele retenha a estrutura de diretórios que estava na pasta C: \.

    
por bobobobo 08.08.2009 / 20:12

2 respostas

29

Isso pode ser feito com o bom e velho for :

for /r C:\Folder %f in (*.png) do @copy "%f" C:\png

Nada extravagante.

    
por 08.08.2009 / 20:43
0

Se você tem o cygwin instalado, isso seria um trabalho para encontrar:

cp 'find /cygdrive/c/folder/* -name '*png'' /cygdrive/c/png/

(embora isso tenha problemas se algum dos nomes de arquivos tiver espaços neles - você encontrará alguma variante de um comando find que funcionará em todas as circunstâncias)

Se você estiver executando o Vista, 2003 ou 2008, o menos flexível, mas ainda assim útil, é "forfiles" seu amigo. Algo como:

FORFILES /P c:\folder\ /M *.png /S /C "cmd /c copy @file c:\png\"

Nota: Eu não testei nenhum dos comandos acima, mas em teoria eles devem funcionar ...

    
por 08.08.2009 / 20:26

Tags