Hossa!
Gibt es eine Funktion, um in einem Verzeichniss nach anderen Unterverzeichnissen suchen, und diese dann mit Pfadangabe protokollieren zu lassen?
Ich habe mir schon etwas geschrieben, aber ich habe noch ein Problem damit. Das Problem ist, das ich nicht weiß wie ich das Programm so variabel machen kann, dass es absolut "sch**ß" egal ist wie viele Unterordner existieren...
Hier mein Quellcode:
*Er Funktioniert nur im "obersten Pfad"*
sub verzeichnis #Testet ob Unterverzeichnisse vorhanden
{
$suchpfad=shift;
$suchpfad2=shift;
my @folder;
opendir(DIR, $suchpfad) || die;
my @Eintraege = readdir(DIR);
closedir(DIR);
chdir($suchpfad);
foreach(@Eintraege) #Für alle Verzeichniseintraege, tue...
{
if (-d $_) #pruefen ob es ein Verzeichnis ist
{
if ($_ =~ /^.$/i or $_ =~ /^..$/) #ob es der Punkt oder "PunktPunkt" ist
{
print ("NULL\n"); #Wenn "ja" -> Verwerfen
}
else
{
push(@folder, "c:\$suchpfad2\$_"); #Pfad der Verzeichnisse in ein Array speichern
}
}
}#HIER IST DER TEIL WO ICH NICHT WEITER WEISS...
foreach(@folder) #Für alle oben ermittelten Verzeichnisse
{
verzeichnis($_); #Teste ob Unterverzeichnisse vorhanden
}
}
#Verzeichnis in dem gesucht werden soll
my $root ="/";
my $verzeichnis = "test";
my $kompletterpfad = "$root$verzeichnis";
system("cd \");
verzeichnis($kompletterpfad, $verzeichnis);