BoonSutazio:FLVファイルの拡張子をswfに変換

古いBoonSutazioでDownloadしてためこんだファイルについて、NMMのファイルの拡張子がflvのままのため、最新版の機能、swfファイルを外部プレイヤーで表示する機能が使いづらいことがあった。そこで拡張子をswfにするPerlスクリプトを書いてみた。不要になったらスクリプトごと消しちゃうと思うので、ブログにメモ。

# 拡張子がFLVなのに、内容がswf形式のファイルについて
# 拡張子をswfに変換する
#
# list.txt に対象となるFLVファイル名が1行に1ファイル書き込まれているとする
# dir /B *.flv > list.txt
#
use File::Basename;

open LIST, "<list.txt";

while ($open = <LIST>) {
	
	$open =~ s/\\\\/\\/g;
	$open =~ s/\n//g;
	
	open FLV, "<$open" || die "can't open $open";
	binmode FLV;
	read(FLV, $buf, 3);	# 先頭3バイトで判断
	close FLV;
	
	# rename
	if ($buf eq "CWS") {
		my ($name,$path,$suffix) = fileparse($open,'flv');
		$new = $path.$name."swf";
		
		printf("SWF file:%s -> %s\n", $open, $new);
		rename $open, $new;
	}
}

close LIST;