Ich habe versucht, eine Datei für die letzte Stunde per Perl umzubenennen. Ich habe für immer recherchiert und alles versucht, aber nichts hat funktioniert. Wie kann ich eine Datei per Perl umbenennen? Hier ist mein Skript:So benennen Sie eine Datei mit Perl um
use strict;
use warnings;
use Time::Piece;
use File::Copy qw(move);
# Open the log file
my $log_file = 'testLog.log';
open my $log_fh, '<', $log_file or die "Could not open file $log_file:
$! +";
# Create New File
my $new_log_file = 'testLog.log';
# My file size (bytes)
my $logFileSize = -s $log_file;
# My file size (Mb)
my $logFileSizeMB = $logFileSize/1000000;
# File size limit
my $fileSizeLimit = 100;
# Get Date
my $date = localtime->strftime('%m/%d/%Y');
# New File Name
my $newFileName = "testLog_$date.log";
sub main {
if ($logFileSizeMB > $fileSizeLimit) {
close $log_fh or die "Could not close file $log_file: $!";
#print "$newFileName\n";
rename("testLog.log", "testLog_$date.log") || die ("Error Renaming
File");
#open my $new_log_fh, '>', $new_log_file or die "Could not open file
$new_log_file: $! +";
#close $new_log_fh or die "Could not close file $new_log_file: $!";
print "New log file created successfully!";
} else {
print "File size is under $fileSizeLimit";
}
exit(0);
}
main();
Wenn ich dies ausführen die Datei unverändert bleibt ... irgendwelche Ideen, wie das zu beheben?
Welchen Fehler bekommen Sie? – ikegami
Nur die "Fehler Rename File at DeleteLogFile.pl Zeile 58" –
Gut, lassen Sie mich umformulieren: Welchen Fehler hat 'rename' zurückgeben? (Change 'die (" Fehler umbenennen Datei ")' zu 'sterben (" Fehler beim Umbenennen \ "testLog.log \" zu "testLog_ $ date.log \": $! \ N ")') – ikegami