Date Rename
This perl program renumbers files by their creation date. Possible arguments are file-extension and basename.
Examples:
- daterename -e jpg -n "pic_"
- daterename -e jpg -n ""
#!/usr/bin/perl -w use Cwd; use strict; use warnings; sub daterename($$) { my $type = shift; my $name = shift; my $path = getcwd(); my %fhash; my $muster = $path."/*.".$type; my @globbing = glob($muster); my $glength = @globbing; unless ($glength == 0) { foreach my $filename (@globbing) { my @a = stat($filename); $fhash{"$filename"} = $a[9]; } my $index = 1; foreach my $file ( sort{$fhash{$a} cmp $fhash{$b}} keys %fhash ) { print "rename $file\t to $name$index\n"; rename($file, $name.$index.".".$type); $index++; } } else { print "Nothing to do\n"; } } sub help() { print "usage of daterename:\n"; print " required parameters:\n"; print " -n basename of the files\n"; print " -e file-extension (like jpg...)\n"; print " optional parameters:\n"; print " none at the moment\n"; } my $type = "null"; my $name = "null"; my $l = @ARGV; for(my $i = 0; $i < $l ; $i++) { if($ARGV[$i] =~ /^-n$/) { if(defined $ARGV[$i+1]) { $name = $ARGV[$i+1]; $i++; } else { help(); last; } } elsif($ARGV[$i] =~ /^-e$/) { if(defined $ARGV[$i+1]) { $type = $ARGV[$i+1]; $i++; } else { help(); last; } } } if($type ne "null" and $name ne "null") { daterename($type,$name); } else { help(); }












