Mover todos os arquivos de subpastas de vários níveis para a subpasta do segundo nível

0

Eu estou procurando o comando do windows ou script em lote para me ajudar, eu passei 3h lendo / tentando encontrar uma solução eu sei que está lá fora, mas minha falta de script / programação não está ajudando, esperando que alguns possam me ajudar .

Eu tenho um conjunto de pastas e arquivos que gostaria de exibir na subpasta do segundo nível, que neste exemplo seria subpasta1 & subpasta1 e amp; subpasta3 etc.

D:folder>subfolder1>subfolder>subfolder>files

     >subfolder2>subfolder>files

     >subfolder3>subfolder>files

     >subfolder4>subfolder>subfolder>files
    
por user2827759 17.10.2013 / 03:57

1 resposta

0

Seu objetivo é arriscado - o que acontece se o mesmo nome de arquivo existir em vários subdiretórios? Apenas uma versão pode existir em uma determinada pasta.

O seguinte comando avisa que um forro moverá os arquivos conforme solicitado e os nomes duplicados sobrescreverão os arquivos já existentes com esse nome:

for /d %A in ("d:\folder\*") do @(pushd "%A"&(for /r /d %B in (*) do @move /y "%B\*" "%A" 2>nul)&popd)

Ou como um script em lote:

@echo off
for /d %A in ("d:\folder\*") do (
  pushd "%A"
  for /r /d %B in (*) do move /y "%B\*" "%A" 2>nul
  popd
)
    
por 17.10.2013 / 06:30