Mover arquivos na subpasta para as pastas principais em muitas pastas

0

Meu programa de importação de fotos coloca a cópia de backup das fotos em uma pasta denominada "importado em DATE". Essas pastas são criadas como subpastas da pasta de localização desejada. Eu tenho muitas dessas pastas "importadas" em várias camadas de pastas. Um exemplo seria:

C: \ fotos \ todas as fotos 2013 \ 01jan13 \ importadas em 18 de janeiro.

Existe uma maneira de varrer a pasta de imagens através de cada uma de suas subpastas e fazer com que o programa mova os arquivos em uma pasta "importada em" para a pasta acima dela? Desculpe se isso é confuso!

Obrigado por qualquer ajuda

    
por rshonaker 13.08.2014 / 21:02

1 resposta

0

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 em C:\pictures , de forma recursiva, com %F definido para o nome do arquivo.
  • move move 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 %F está. 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 para C:\ . Se você tiver arquivos em C:\pictures\all photos 2013 , isso tentará movê-los para C:\pictures , etc.
  • Se você quiser colocar isso em um script, substitua todas as ocorrências de %F por %%F .
por 13.08.2014 / 23:24

Tags