如何按顺序复制音乐文件?

如何按顺序复制音乐文件?

有没有按顺序复制音乐文件的命令?

我需要通过“艺术家 - 专辑”到 USB 记忆棒。

MP3 必须按顺序复制,例如01 Can You Feel It.mp3应在 之前复制02 Skyway.mp3

答案1

您无法使用命令行或 nautilus 按顺序复制文件。但您可以使用 midnight commander 按顺序复制一些文件。使用以下命令在终端上安装它:

sudo apt-get install mc

答案2

如果您找不到任何现成的软件来执行此操作,您可以非常轻松地编写一个。

在 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可能就不是您想要的顺序。

答案3

这段代码应该可以满足您的要求。修改该sort部分以根据喜好改变排序行为。

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

ETA:这可能一次只能对一个目录起作用,但您可以尝试ls -R,尽管我不知道是否会递归复制。

相关内容