2001/05/12 (土) 03:08:42        [mirai]
あったぞヽ(´ー`)ノみなEndorno導入すれよな


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  投稿者:  投稿日:2001/03/23(金)21時21分45秒

#! perl.exe


# ./ファイル名連番.拡張子 形式のファイルを
# ./ファイル名/ファイル名連番.拡張子 に振り分ける


use strict;
use IO;
use Win32API::File(":Func");
use Cwd("getcwd");

our($sfile,$hdir,@sfiles);

# ファイル名リスト取得
$hdir = new IO::Dir(getcwd());
foreach $sfile ($hdir->read()) {
	-d($sfile) || push(@sfiles,$sfile);
}

foreach $sfile (@sfiles) {
	# ファイル名、連番、拡張子に分割
	my($sfname,$nnumber,$ssfx) = ($sfile =~ m/(.*[^\d])(\d+)(\..*)$/);
	
	if (($sfname ne '')
	&& ($ssfx ne '')
	&& ($nnumber ne '')
	&& (length($sfname . $nnumber . $ssfx) == length($sfile))) {
		# 全文字数分きちんと拾えておれば
		$sfname =~ s/_?$//;
		# 存在しなければmkdir()
		-d($sfname) || mkdir($sfname) || die "fault mkdir: $!";
		# ファイルをそこへ移動
		MoveFileEx($sfile,"${sfname}\\${sfile}",[]) || die "fault move $sfile: fileLastError()";
		STDOUT->print("$sfile move successed.\n");
	} else {
		# うまく分割できなかった
		STDOUT->print("$sfile match failed.\n");
	}
	# デバッグ用ウェイト
	# select(undef,undef,undef,0.2);
}

できたぞ。
昨日アプしたルータ設定スクリプトも使ってくれよな
ヽ(´ー`)ノ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━