#!/usr/bin/perl -w # #Rename files using a text base-name #2004-10 http://kimbriggs.com/computers/ # #Initialize counter $i = 1; #Get the new base name of photos print "Enter the base name for the photos (no extension): "; chomp($basename = <>); #Load all jpgs into an array. Remove trailing line feed. @pix = `ls *.JPG *.jpg`; foreach $pix (@pix) { chomp $pix; if ($i < 10) {$newname = $basename."-00"."$i".".jpg";} elsif (($i >= 10) && ($i < 100)) {$newname = $basename."-0"."$i".".jpg";} elsif (($i >=100) && ($i < 1000)) {$newname = $basename."-"."$i".".jpg";} else {warn "Number of files out of range.";} #Use system command to rename file. system 'mv', $pix, $newname; #Create a log file to track changes. $logname = $basename."-sources.txt"; open(FILEHAND,">>$logname") or die "Can't append to $logname \n"; print FILEHAND $newname." was ".$pix."\n"; $i = $i+1 } close(FILEHAND);