Eu gostaria de usar o xcopy em uma máquina Windows para extrair todos os arquivos com 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, existe C: \ png \ a \ b \ c \ img.png) que eu não quero. Eu simplesmente quero tudo .png dentro de C: \ png, sem manter a estrutura de diretórios que estava na pasta C: \.
Respostas:
Isso pode ser feito com bons velhos tempos
for
:Nada chique.
fonte
%f
serve?f" was unexpected at this time
. Mudando%f
para%%f
funcionou. No entanto, eu estava executando isso em um arquivo em lotes: se você estiver usando o comando FOR na linha de comando, e não em um programa em lote, use apenas um sinal de porcentagem:% G em vez de %% G. ss64.com/nt/for.htmlfor
podem ficar confusas sobre as duasd
coisas diferentes%~dd
. Afor
documentação sugere usar letras maiúsculas para variáveis para evitar confusão, mas as substituições ainda são claramente distinguíveis do nome da variável, eu acho.Se você tem o cygwin instalado, este seria um trabalho para encontrar:
(embora isso tenha problemas se algum dos nomes de arquivos tiver espaços neles - você encontrará uma variante de um
find
comando que funcionará em todas as circunstâncias)Se você estiver executando o Vista, 2003 ou 2008, os "forfiles" menos flexíveis, mas ainda úteis, são seus amigos. Algo como:
Nota: Eu não testei nenhum dos comandos acima, mas em teoria eles devem funcionar ...
fonte