Скопируйте несколько файлов и отправьте каждый в определенную подпапку

У меня есть папка с обложками CD в.jpg и другая папка с подпапками, каждая с соответствующим CD. Я хочу отправить обложку каждого CD в соответствующую подпапку. Они уже в алфавитном порядке. Как я могу это сделать?

1 ответ

Решение

Это то, что легко с оболочкой Unix. Вы можете сделать это и с bash, но вот как вы можете сделать это с бесплатной демо-версией моей оболочки Hamilton C. (Да, я автор.)

Предположим, что вы находитесь в каталоге, содержащем jpgs, и что каталог, содержащий-CD - это путь к каталогу с подкаталогами с компакт-дисками:

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 псевдоним для бега ls, возвращая только каталоги. -1 Опция означает запись каждого каталога в отдельную строку. Двойные кавычки превращают каждую строку в отдельное слово (если имена каталогов содержат пробелы, мы не хотим разбивать их на отдельные слова).

Если что-то из этого не ясно, просто спросите.

Другие вопросы по тегам