Mover subpastas para cima um nível

1

Eu tenho esta estrutura de diretórios:

c: \ Parent \ Child1 \ Images \ folder1
c: \ Parent \ Child1 \ Images \ folder2
c: \ Parent \ Child1 \ Images \ folder3
c: \ Parent \ Child2 \ Images \ folder1
c: \ Parent \ Child2 \ Images \ folder2
c: \ Parent \ Child3 \ Images \ folder1
c: \ Parent \ Child3 \ Images \ folder2
c: \ Parent \ Child3 \ Images \ folder3
c: \ Parent \ Child3 \ Images \ folder4
etc

Usando a linha de comando (Windows7), gostaria de mover cada pasta1, pasta2, pasta3 etc ... um nível acima para sua respectiva pasta "childX".

Eu removerei as pastas "Imagens" (eu sei como fazer isso).

    
por Kenneth Otten 18.09.2017 / 00:16

1 resposta

1

Você pode usar o PowerShell! Se você cd na pasta Parent e executar este comando, ele reorganizará suas pastas conforme desejado.

dir -Directory | % {Push-Location $_.FullName; dir './Images' | % {Move-Item $_.FullName .}; del './Images'; Pop-Location}

Tradução:

  • Listar todas as subpastas do diretório atual
  • Para cada um:
    • Tornar o diretório atual
    • Listar todos os itens na pasta chamada Images
    • Para cada um:
      • Mova-o para a pasta atual (suas pastas filhas numeradas)
    • Excluir a pasta Images agora vazia
    • Restaure o diretório atual para o que era antes (seu Parent )

Se você preferir que o comando não exclua as pastas Images , você pode remover o del './Images'; bit.

    
por 18.09.2017 / 00:41