我将数千张图片转储到一个大目录中。大多数图片的文件名都符合 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”,您将看到所有以该名称为名称的文件,并且只需将其剪切并粘贴到特定文件夹中即可。
当然,这取决于你有多少个不同的月份,也许这足以值得写作/学习如何编写脚本,但如果不是太多,那么尝试一切。