Eu tenho uma pasta (vamos chamá-la de A) com muitas subpastas B, C, D, E, que novamente têm as subpastas B1, B2, B3, ... C1, C2, C3 ...
Como posso usar o cmd para mover todos os arquivos de todas as subpastas para a pasta "raiz" A?
windows-xp
command-line
Torre
fonte
fonte
Respostas:
Em um prompt de comando:
Se você precisar limpar as pastas vazias posteriormente:
Agora, se você tiver algum conflito de nome de arquivo, estará por sua conta. Você pode adicionar o
/y
parâmetro aomove
comando (antes de"%i"
) para forçar substituições. Se você quiser algo diferente, precisará de outro programa que possa renomear tudo automaticamente.Além disso, se você quiser usar isso em um arquivo em lotes, altere todos os
%
para%%
.fonte
FOR /r
- legal!Crie uma pasta e copie todas as outras pastas nela, clique com o botão direito do mouse nessa pasta e selecione Pesquisar . Na caixa de pesquisa, insira
*.*
.Isso listará todos os arquivos e pastas. Selecione todos os arquivos que você deseja no diretório raiz e corte-os. Navegue para o diretório raiz e cole todos os arquivos lá.
fonte
Instale o Cygwin (ou outro ambiente Unix para Windows) e execute o seguinte:
fonte
mv
e dasfind
variantes, pode ser necessário usá-lofind . -type f -exec mv -t . {} \;
.mkdir -p a/a1 a/a2 a/a3 b/b1 b/b2 b/b3 c
etouch a/a1/foo a/a1/bar a/a2/baz a/a3/qux b/b1/quux b/b2/quuux b/b3/quuuux c/ccc
para preparação.find . -type f -exec mv {} . ;
E parecia funcionar bem.