Hallo zusammen,
ich werte einen Fileserver aus, auf dem User ihre Daten abgelegt haben (ca. 16TB Nutzdaten und 6.000.000 Dateien). Ich frage jede Datei ab und logge den UNC Pfad / Dateiname und die Dateigröße. Das Skript fliegt aber bei zu langen Dateinamen auf die Nase.
Was muss ich machen damit es zwar einen Fehler gibt der ggf. mitgeloggt wird, aber das script dann trotzdem weiterläuft?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
system "cls";
use warnings;
use POSIX qw(strftime);
use File::Find;
$count = 0;
open FH , ">C:\\Perl\\skripte\\report.txt";
print FH "LFD-NUMMER \t GROESSE \t DATEINAME \n";
close FH;
@startDirs = qw(\\\\fileserver\\user01$);
open FH , ">>C:\\Perl\\skripte\\report.txt";
&File::Find::find (
sub {
if (-f $_) {
$size = -s _;
$datei = $File::Find::name;
$datei =~ s/\//\\/g;
$count = $count + 1;
print "$count \t $size \t $datei \n";
print FH "$count \t $size \t $datei \n";
}
}, @startDirs);
close FH;
Fehlermeldung
#Can't opendir(\\fileserver\user01$/andre/Sicherungskopien/Sicherungskopie xxx
#estellvorlagen vom LW Techn. EK, Stand 21.10.2011/Rahmenvertrõge und Bestellvorl
#agen/_Bestellvorlagen/Unterlagen/test/Philips - Leuchtmittel/Energiekosten Berechnun
#g Vergleich T8 - ECO Leuchtmittel): No such file or directory
# at C:\Perl\Skripte\report.pl line 42
#Can't cd to ../.. from \\fileserver\user01$/andre/Sicherungskopien/Sicherungsk
#opie xxxestellvorlagen vom LW Techn. EK, Stand 21.10.2011/Rahmenvertrõge und Be
#stellvorlagen/_Bestellvorlagen/Unterlagen/test/Philips - Leuchtmittel/Energiekosten
#Berechnung Vergleich T8 - ECO Leuchtmittel at C:/Perl/lib/File/Find.pm line 983.
Vielen Dank und Gruß
Willi
Last edited: 2011-12-20 10:30:27 +0100 (CET)