#!/usr/bin/perl

use strict;
use warnings;

my $base_name = ’./dummy’;

# Start Rename.
# Read base directory files.
my @file = &Function_Read_Directory($base_name);

# Rename files to file update time.
foreach(@file){
  # File found image file.
  my $fn = qq|$base_name/$_|;
  if((-f qq|$fn|)and($_ =~ m/(.jpg$)|(.jpeg$)|(.png$)|(.bmp$)/gi)){
    # Get file update time.
    my($sec,$min,$hour,$day,$mon,$year) = localtime((stat($fn))[9]);
    # Conversion random number.
    my $int = sprintf("%05d",rand(int(10000)));
    # Conversion update time.
    my $update_time = sprintf("%04d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$day,$hour,$min,$sec);
    # Temp rename target file. // extension no change.
    if($fn =~ m/(.*).(.*)/g){
      rename($fn,qq|$base_name/$update_time$int.$2|);
    }
  }
}

# Read base directory files.
@file = ();
@file = &Function_Read_Directory($base_name);

my $cnt = 0;
foreach(@file){
  # File found image file.
  my $fn = qq|$base_name/$_|;
  if((-f qq|$fn|)and($_ =~ m/(.jpg$)|(.jpeg$)|(.png$)|(.bmp$)/gi)){
    # Conversion count.
    $cnt = sprintf("%05d",$cnt);
    # Commit rename target file. // extension no change.
    rename($fn,qq|$base_name/$cnt.$2|) if($fn =~ m/(.*).(.*)/g);
    # Add count
    $cnt++;
  }
}

# Read directory.
sub Function_Read_Directory{
  # Read directory.
  opendir(DIR,qq|$_[0]|) or die;
  my @dir = readdir(DIR);
  closedir(DIR);
  # Sort descending order.
  my @sort_dir = sort {$a cmp $b} @dir;
  return @sort_dir;
}

exit;

# どうもインデントがおかしいのでタブを全角に変換して記載
# 時刻整形の箇所が2行になっているが、本来は同一行

コメント

nophoto
misaki
2011年12月14日23:32

おかしい
時間が無いんだ
どうしてだ
もう寝る時間だ

shima
2011年12月15日5:11

お互い時間無いねぇ… > misaki

最新の日記 一覧

<<  2025年6月  >>
1234567
891011121314
15161718192021
22232425262728
293012345

お気に入り日記の更新

この日記について

日記内を検索