in reply to this kinda what you're looking for?
in thread Modified Date, file renaming

It's great, but I run into a couple of problems. On a Windows 2k box I get an error saying the files can't be renamed because I don't have access (logged on as admin, full control and ownership of all the files in question). And on a Windows ME box it tells me they're unable to be renamed because there is 'No such file or directory.'

I wasn't kidding when I said I was brand new to all of this, so attempts to fix it have been less than successful. Here's what I have so far, be gentle:


use FileHandle;

my $directory = 'c:\temp';
my @logfile;
my $handle;
my %number;
my $date;
my $string;

opendir LOGDIR, $directory
    or die "Unable to open $directory: $!";
@logfile = grep {/\.log$/} readdir(LOGDIR)        # only .log files
    or die "unable to read $directory: $!";

foreach my $logfile (@logfile) {
    unless ($handle = new FileHandle "<$directory/$logfile") {
        print "Unable to open $logfile: $!\n";
        next;
    }

    unless (read $handle, $string, 5, 0 ) {     # get first 5 bytes
        print "unable to read $logfile: $!\n";
        close $handle;
        next;
    }
    $date = (stat($handle))9;
    $rdate = (localtime($date));
    close $handle;
    $number{"$string,$rdate"}++;
    print "$logfile --> $string, $rdate " . '(' . $number{"$string,$rdate"} . ')' . ".log\n";
    rename "$directory/$logfile", "$directory/$string,$rdate" . $number{"$string,$rdate"} . ".log"
        or print "unable to rename $logfile: $!\n";
}

I also want to thank everyone for their help, it's a learning experience and I appreciate everyone's contribution. Just looking forward to the time when I'll be the one offering assistance.

  • Comment on Re: this kinda what you're looking for?