Este é o tipo de coisa que é fácil com um shell Unix. Você poderia fazer isso com o bash também, mas aqui está como você pode fazer isso com a versão demo gratuita do meu Hamilton C shell . (Sim, eu sou o autor.)
Suponha que você esteja no diretório que contém os jpgs e que o diretório contendo CDs seja o caminho para o diretório com os subdiretórios com os CDs:
set CDs = ''ld -1 directory-containing-CDs'' # Get list of CD directories
set covers = *.jpg # Get the list of jpgs
for i = 0 to $#covers - 1 do
mv $covers[i] directory-containing-CDs\$CDs[i] # Move the jpgs one-at-a-time.
end
ld
é um alias para executar ls
, retornando apenas diretórios. A opção -1
significa gravar cada diretório em uma linha separada. As duplas backquotes transformam cada linha em uma palavra separada (se algum nome de diretório contiver espaços, não queremos dividi-los em palavras separadas).
Se nada disso estiver claro, basta perguntar.