Isso funciona no Windows 7; Eu não sei sobre outras versões:
for /r C:\pictures %F in (*.*) do move %F %F\..\..
Notas:
-
for /r C:\pictures %F in (*.*) do …executa a seguinte declaração uma vez para cada arquivo emC:\pictures, de forma recursiva, com%Fdefinido para o nome do arquivo. -
movemove um arquivo. - Aqui fica complicado.
Você sabe que
cd ..leva você até um nível. Bem, acontece que você pode dizer\Users\rshonaker\Documents\fubar.doc\.., e se referirá a\Users\rshonaker\Documents(o diretório em que o arquivo está) então%F\..é o diretório no qual o arquivo%Festá. E então%F\..\..é o pai desse diretório.
Mais notas:
- Use com cuidado.
Se você tiver arquivos em
C:\pictures, isso tentará movê-los paraC:\. Se você tiver arquivos emC:\pictures\all photos 2013, isso tentará movê-los paraC:\pictures, etc. - Se você quiser colocar isso em um script, substitua todas as ocorrências de
%Fpor%%F.