Как мне скопировать музыкальные файлы по порядку?

Есть ли команда для копирования музыкальных файлов по порядку?

Мне нужно скопировать MP3-файлы, которые находятся в папках с помощью « Artist - Album », на USB-накопитель.

MP3-файлы должны быть скопированы по порядку, например, 01 Can You Feel It.mp3 должно быть скопировано до 02 Skyway.mp3.

1
задан 8 October 2012 в 15:04

3 ответа

Этот фрагмент кода должен делать то, что вы ищете. Измените часть sort, чтобы изменить сортировку по вкусу.

for i in "$(ls *.mp3 | sort)"; do cp "$i" "/destination/$i"; done

ETA: Это может работать только для одного каталога за раз, но вы можете попробовать ls -R, хотя я не знаю, будет ли это копировать рекурсивно.

0
ответ дан 8 October 2012 в 15:04

Если Вы не можете найти, что какое-либо готовое к использованию программное обеспечение делает это, можно очень легко записать тот.

В Python, сценарии для рекурсивного копирования всех файлов с там соответствующими папками к новой папке в порядке, мог быть похожим на это:

#/usr/bin/env python

import os
import sys
import shutil

try:
    from_path = os.path.expanduser(os.path.expandvars(sys.argv[1]))
    to_path = os.path.expanduser(os.path.expandvars(sys.argv[2]))
except:
    print "Usage: copyinorder <from path> <to path>"
    exit()

if not os.path.exists(to_path) or not os.path.exists(from_path):
    exit("Error: both paths must exist.")

for dir_path, dir_names, file_names in os.walk(from_path):
    if file_names:
        new_dir_path = os.path.join(to_path, os.path.relpath(dir_path, from_path))
        if not os.path.exists(new_dir_path):
            os.makedirs(new_dir_path)
        for name in sorted(file_names):
            dest = os.path.join(new_dir_path, name)
            src = os.path.join(dir_path, name)
            shutil.copyfile(src, dest)
            print "copied {0} \n to {1}".format(src, dest)

Вы могли просто сохранить его где-нибудь (например, как "copyinoder"), сделать его исполняемым файлом (например. chmod +x copyinorder) и выполненный это как это:

copyinorder ~/Music/DavidBowie /media/N900/Music/

Обратите внимание, что в этом случае папка "DavidBowie" не будет воссоздана.

Отметьте также, это, если файлы так приятно не называют как в Вашем примере, то sorted не мог бы быть порядок, который Вы хотели.

0
ответ дан 8 October 2012 в 15:04

Вы не можете копировать файлы по порядку с помощью командной строки или nautilus. Но вы можете использовать Midnight Commander, чтобы скопировать некоторые файлы по порядку. Установите его на терминал с помощью этой команды:

sudo apt-get install mc
0
ответ дан 8 October 2012 в 15:04

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

Похожие вопросы: