Чтобы соответствовать критериям "покрытия", такого как "софт", мне нужно создать определенную папку (с именем "name_of_the_film") для каждого film.avi и cover.jpg, которые есть в моем каталоге фильмов:

Сегодня:

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 

Возможно ли сделать это автоматически?

2 ответа2

3

Я не знаю ни о каких приложениях, которые делают это, но вы можете написать короткий скрипт на 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 из командной строки.

0

Вы можете сделать это с помощью пакетного скрипта.

Смотрите здесь список способов, которыми вы можете манипулировать переменными цикла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .