Найти на жестком диске все медиафайлы с определенным битрейтом?

Найти на жестком диске все медиафайлы с определенным битрейтом?

Можно ли выполнить поиск всех 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)

Связанный контент