如何创建新文件夹并在其中放置文件

如何创建新文件夹并在其中放置文件

为了符合“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

您可以使用批处理脚本来完成此操作。

看这里了解可以修改循环变量的方法列表。

相关内容