为了符合“coverflow”之类的软件的标准,我必须为我的电影目录中的每个 film.avi 和 cover.jpg 创建一个特定的文件夹(名为“name_of_the_film”):
今天:
d:/film/starwars.avi,
d:/film/starwars2.avi
d:/film/starwars.jpg
d::film/starwars2.jpg
明天:
d:/film/starwars
d:/film/starwars/starwars.avi
d:/film/starwars/starwars.jpg
d:/film/starwars2
d:/film/starwars2/starwars2.avi
d:/film/starwars2/starwars2.jpg
可以自动完成这个吗?
答案1
我不知道有任何应用程序可以做到这一点,但你可以编写一个简短的 Perl 或 Python 脚本来为你完成此操作。以下 perl 脚本应该可以满足您的需要:
use File::Copy;
my $baseDir = "D:/film/";
opendir my $dir, $baseDir or die "Cannot open directory: $!";
my @files = readdir $dir;
foreach my $file (@files)
{
$fileName = $1 if ($file =~ /^(.*)\.[^\.]+$/i);
mkdir("$baseDir/$fileName") unless (-d "$baseDir/$fileName");
move("$baseDir/$file", "$baseDir/$fileName/$file");
}
假设您已经安装了 perl,请将此脚本保存为 CreateMovieFolders.pl,然后perl CreateMovieFolders.pl
从命令行运行。
答案2
您可以使用批处理脚本来完成此操作。
看这里了解可以修改循环变量的方法列表。