数千张图像、基于日期的目录结构 - 如何?

数千张图像、基于日期的目录结构 - 如何?

我将数千张图片转储到一个大目录中。大多数图片的文件名都符合 YYYY-MM-DD-misc-keyword.ext 格式。我现在想创建一个目录结构,其中每个目录都符合 YYYY-MM 格式,基本上每个月一个目录。显然,我想使用文件名中的信息将图片移动到其相应的目录中。

在 Windows XP 上有没有自动使用这个的方法?例如 (1) 创建目录结构和 (2) 将图像移动到正确的目录?

答案1

您也可以尝试贝尔维德来自生活黑客作家。您可以创建规则和自动“移动文件”操作。可能功能不够强大,无法满足您的需求。

替代文本

答案2

正如 Rohit Nair 所说,没有标准命令可以执行此操作,但可以使用多种工具来执行此操作。我选择的工具可能是 Perl - 但 Python 也可以毫无困难地处理它。任何有能力的 shell 也应该如此;例如 Cygwin 和 Bash,可能还有 Powershell(尽管我没有使用它的经验)。

#!/bin/perl -w

for my $file (glob '????-??-??.*')
{
    my $dir = $file;
    $dir =~ s/-\d\d\..*//;
    mkdir $dir unless -d $dir;
    rename $file, "$dir/$file";
}

glob如果需要,您可以优化表达式,使用“ [0-9]”代替每个问号。请注意名称中的空格 - 请参阅bsd_glob

答案3

如果没有完全自动化的解决方案,我认为全部搜索可能会有用。这是一个非常快速有效的文件名和文件夹搜索器。如果您搜索“2004-11”,您将看到所有以该名称为名称的文件,并且只需将其剪切并粘贴到特定文件夹中即可。

当然,这取决于你有多少个不同的月份,也许这足以值得写作/学习如何编写脚本,但如果不是太多,那么尝试一切。

相关内容