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