> 2001/03/23 (金) 21:25:03 ◆ ▼ ◇ [mirai]> #! 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);
> }
> できたぞ。
> 昨日アプしたルータ設定スクリプトも使ってくれよな
> ヽ(´ー`)ノ
クスコヽ(´ー`)ノ
vbsの方もまってるよぉ
参考:2001/03/23(金)21時21分45秒