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
#!/usr/bin/perl use warnings; use strict; use Cwd; sub myfind { my $wd = shift; my @a = <$wd/*>; my @dirs = (); foreach my $i (@a) { if (-d $i) { push(@dirs, $i); } } foreach my $adir (@dirs) { print "$adir\n"; myfind($adir); } } myfind(getcwd());
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#!/usr/bin/perl -w use warnings; use File::Find; use strict; my @directorie = ("Z:\\"); my $data_file = 'D:\\test_ordner4.txt'; my $i = 0; find(\&wanted, @directorie); sub wanted { open( FILE, ">>", $data_file ) or die $!; print $i . " $File::Find::dir\n"; $i = $i + 1; print FILE "$File::Find::dir\n"; close(FILE); }
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
#!/usr/bin/perl -w use warnings; use File::Find; use strict; my @directories = ("Z:\\"); # bei einfachen Anfühungszeichen (') braucht man das \ nicht zu Quoten # außer es steht am Ende, da es ansonsten das ' entwertet my $data_file = 'D:\test_ordner4.txt'; my $i = 0; # eine etwas ausführlichere Fehlermeldung open( my $fh, ">>", $data_file ) or die "ERROR open $data_file $!"; find(\&wanted, @directories); close($fh); sub wanted { # Pfad holen: my $path=$File::Find::name; # ist es ein Verzeichnis? if(-d $path) { print "$i $path\n"; print $fh "$path\n"; # i im 1 erhöhen $i++; } }