Leser: 22
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
use strict; my $login_name = getlogin; #my $path = "C:\\Dokumente und use File::stat; open (out,">file_count.csv"); print (out "Counts of files in a directory \n"); &funktAusgabe($path); close out; sub funktAusgabe() { my $zaehler=0; my $zaehler2= 0; my @ordner; my $anzDateien=0; my $anzDateien2=0; my $anzOrdner=0; my $local_time = localtime; my ($para1)=@_; opendir my $ordner,$para1; my @eintraege = readdir($ordner); foreach(@eintraege){ opendir $ordner,$para1; if($zaehler>1){ my $var=$para1.$_."\\"; push(@ordner,&funktIstOrdner($var)); if($ordner[$zaehler-2]==0){$anzDateien++;}else{$anzOrdner++;} # if($ordner[$zaehler-2]==0){$anzDateien++;} } $zaehler++; my $filesize=stat($para1.$_)->size; if($filesize>=1024){$anzDateien2++;} } $zaehler=0; foreach(@eintraege){ opendir $ordner,$para1; $zaehler++; } print(out "$local_time".";"."$anzDateien".";"."$anzDateien2".";"."$para1\n"); $zaehler=0; foreach (@eintraege) { opendir $ordner,$para1; my $var=$para1.$_."\\"; if($zaehler>1&&$ordner[$zaehler-2]==1){&funktAusgabe($var);} $zaehler++; } $zaehler2++; } sub funktIstOrdner(){ my $zaehler=0; my ($para1)=@_; opendir my $ordner,$para1; my @eintraege = readdir($ordner); foreach (@eintraege) { print @eintraege[$zaehler]; $zaehler++; if($zaehler>0){return 1;} } return 0; }
my $anzahl=@eintraege;
1 2 3 4 5 6
foreach (@eintraege) { print @eintraege[$zaehler]; $zaehler++; if($zaehler>0){return 1;} }
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
#!/usr/bin/perl use strict; use warnings; use File::stat; my $path = 'C:\Dokumente und Einstellungen'; open (my $out,'>', 'file_count.csv') or die "$!\n"; print ($out "Counts of files in a directory \n"); &funktAusgabe($path); close $out; sub funktAusgabe { my $local_time = localtime(); my ($ordner)=@_; my @eintraege = read_dir($ordner); my $anzDateien=@eintraege; my $anzDateien2=0; foreach my $eintrag (@eintraege) { if(-d $eintrag) { funktAusgabe($eintrag); } elsif(stat($eintrag)->size() >= 1024) { $anzDateien2++; } } print($out "$local_time;$anzDateien;$anzDateien2;$ordner\n"); } sub read_dir { my $dir=shift(@_); opendir( my $dfh, $dir) or die "$!\n"; my @filelist=readdir($dfh); closedir($dfh); my @output; for (@filelist) { if($_ ne '.' and $_ ne '..') { my $filename="$dir\\$_"; push(@output, $filename); } } return @output; }
Guest wer
Was soll das?! Du schließt das Handle ja nichtmals, du überschreibst es, da muß perl irgendwan versagen!
Irgendwann kann perl keine weiteren Handles öffnen!