> 2001/03/23 (金) 19:59:03 ◆ ▼ ◇ [mirai]>
> use IO;
> use strict;
> my($sfile,@sfiles);
> # dir /b *.jpg に相当
> @sfiles = glob('*.jpg');
> foreach $sfile (@sfiles) {
> # ファイル名、連番、拡張子に分割
> my($sfname,$nnumber,$ssfx) = ($sfile =~ m/(.*[^\d])(\d+)(\..*)$/);
> if ($sfname && $ssfx && ($nnumber ne '') && (length($sfname . $nnumber . $ssfx) == length($sfile))) {
> # 全文字数分きちんと拾えておれば
> STDOUT->print(
> "ORIGIN:[$sfile]",
> "FNAME:[$sfname]",
> "NUMBER:[$nnumber]",
> "SFX:[$ssfx]",
> "\n"
> );
> } else {
> # うまく分割できなかった
> STDOUT->print(
> "ORIGIN:[$sfile]",
> "NOMATCHED",
> "\n"
> );
> }
> }
> 即興で書いてみたが、とりあえずこんな感じでどうだ。
> 俺のところにある連番ファイル(エロゲー画像とか)では大抵ちゃんと拾えたぞ
> あとは、あらかじめソートしておいて、ファイル名でフォルダを掘って
> 同じファイル名が続く限りそのフォルダに放り込んでいけばいいと思うぞ
コンパイルエラーになるよ、お兄ちゃん。
参考:2001/03/23(金)19時49分44秒