次のエントリ: 100均で売ってる [diary]
多バイトファイル名の文字コード変更スクリプト
2005-08-10-3 / カテゴリ: [programming][perl] / [permlink]
というわけで試作。Perl 5.8+ 用。shift_jis -> eucjp 固定
ascii のみのファイル/ディレクトリの場合は、同じファイル名への rename のため失敗するが、仕様です :p
#!/usr/bin/perl use Encode qw(from_to); use File::Find; my $basedir = shift; -d $basedir or die "Usage $0 dir\n"; find( sub { my $target = $_; sj2e($target) if -f $target; }, $basedir); find( sub { my $target = $_; sj2e($target) if -d $target; }, $basedir); sub sj2e { my $from = shift; my $to = $from; from_to($to, "shiftjis", "euc-jp"); rename($from, $to) ? print "renamed: ", $File::Find::name, "\n" : print "renamed failed: ", $File::Find::name, "\n"; }なんか、ムダに長いなぁ。ってか、1パスで動作させた方がスマートかも。
ascii のみのファイル/ディレクトリの場合は、同じファイル名への rename のため失敗するが、仕様です :p
次のエントリ: 100均で売ってる [diary]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12