
Можно ли выполнить поиск всех MP3-файлов с битрейтом 320 на моем жестком диске?
Я использую Windows 7 Professional 64 бит.
решение1
Я не думаю, что это можно сделать просто так, поскольку не думаю, что Windows 7 «знает» о битрейтах файлов в своих метаданных.
Так что вам придется «сделать это самостоятельно». Я бы выбрал такой подход:
получить Perl (АктивноеСостояниесделайте один, есть и другие)
Установите
MP3::Info
модуль (cpan install MP3::Info
). Он задаст несколько вопросов, просто примите значения по умолчанию.Для этого запустите скрипт Perl:
Что-то вроде этого:
use strict;
use warnings;
use MP3::Info;
use File::Find;
my $bitrate_target = 320;
sub print_if_bitrate {
return unless m/\.mp3$/; #skip any non-mp3 files.
my $info = get_mp3info($File::Find::name);
if ( not defined $info ) {
print "$File::Find::name has an invalid tag\n";
return;
}
my $bitrate = $info->{BITRATE};
if ( not defined $bitrate ) {
print "$File::Find::name - no bit rate defined\n";
return;
}
if ( $bitrate >= $bitrate_target ) {
print "($bitrate) $File::Find::name\n";
}
}
#double slashed needed, because backslash has a special meaning.
find( \&print_if_bitrate, 'C:\\Users\\me\\MP3' );
(Сохраните как «find_mp3.pl» — установщик ActiveState должен ассоциироваться с .pl
файлами.)
Протестировано на моей системе Windows 7. (Хотя и с более низкой скоростью передачи данных, поскольку у меня нет файлов-образцов 320)