搜尋硬碟中特定位元率的所有媒體檔案?

搜尋硬碟中特定位元率的所有媒體檔案?

是否可以在我的硬碟上搜尋所有 320 位元率的 MP3?

我使用的是 Windows 7 專業版 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 個範例檔案)

相關內容