Você pode fazer com que o Windows execute o mesmo comando para todas as 650 pastas seqüencialmente com um simples loop for /D
. Vá para o diretório que contém os pais e execute o seguinte comando:
for /D %i in (.\*) do @move %i\gallery\* %i\
Opcionalmente, você pode excluir as pastas "galeria" vazias usando "rmdir" sem o sinalizador / S, por exemplo:
for /D %i in (.\*) do @(move %i\gallery\* %i\ && rmdir %i\gallery)
Para obter mais controle sobre as operações de arquivo, talvez você queira examinar robocopy
, que é muito mais avançado que move
. Observe também que os espaços nos nomes de diretório geralmente são analisados como delimitadores. Por exemplo, rmdir parent 1
removerá os diretórios 'pai' e '1', mas não 'pai 1'. Se seus diretórios contiverem espaços, use aspas, por exemplo:
for /D %i in (.\*) do @move "%i\gallery\*" "%i\"