Verzeichniszugriffe unter Windows (insbesondere Windows 7)
17.06.2010 14:36:17
Hi

Annika hat mich auf Probleme mit Verzeichniszugriffen unter Windows 7 aufmerksam gemacht.
In manche Verzeichnisse kann man dort nicht wechseln (teilweise sind das eigentlich Links etc.), so dass man abfangen muss, ob opendir überhaupt erfolgreich war. Das geht einfach, indem man es als Bedingung einer if-Abfrage verwendet.

Schreibt am besten also immer, wenn ihr den Inhalt eines Verzeichnisses auslesen wollt:

my @dateien = ();
if (opendir DIR, $verzeichnisname)
{
@dateien = readdir DIR;
closedir DIR;
}

Ich ändere gleich noch die Folien.

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme
Re: Verzeichniszugriffe unter Windows (insbesondere Windows 7)
17.06.2010 15:08:52
Alternativ kann man das ganze in eine Subroutine packen:

sub dateieninverzeichnis {
my $verzeichnis = $_[0];
my @dateien = ();
if (opendir DIR, $verzeichnis) {@dateien = readdir DIR; closedir DIR;}
return @dateien;
}

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme
Re: Verzeichniszugriffe unter Windows (insbesondere Windows 7)
18.06.2010 07:41:54
Die Abfrage behebt zwar die Fehlermeldungen, aber testen kann zumindest ich immernoch nichts. Weil einfach keine Dateien gefunden werden.
Gibts zufällig eine Empfehlung, was für Ordner funktionieren könnten bzw. wie man sich was anlegen könnte, was funktioniert?
XP versagt bei mir leider ebenfalls.
Re: Verzeichniszugriffe unter Windows (insbesondere Windows 7)
18.06.2010 08:34:04
In dem Skript, das Du mir geschickt hast, waren noch Fehler.
Gib doch zum Debuggen mal für jeden (rekursiven) Aufruf der Funktion aus, welches Verzeichnis gerade versucht wird zu lesen.

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme
Re: Verzeichniszugriffe unter Windows (insbesondere Windows 7)
18.06.2010 16:59:34
Das mein Programm noch nicht richtig funktioniert weiß ich, aber trotzdem müsste da was anderes passieren, als es der Fall war.
Ich hatte ständig eine leere Liste,weil überhaupt nichts gefunden wurde und konnte das nur dadurch beheben, dass ich das ganze nun auf meinen USB-Stick ausgelagert habe. Da hab ich nun zumindest mal Zugriff auf die Inhalte. Vielleicht gabs da noch Probleme mit irgendwelchen Zugriffsrechten... Keine Ahnung...

Funktioniert zwar immernoch nicht ganz ideal, aber immerhin bekomme ich mal irgendwas und es sieht nicht mehr dannach aus, als wäre es die Schuld meines Betriebssystems, dass etwas nicht funktioniert.
Re: Verzeichniszugriffe unter Windows (insbesondere Windows 7)
18.06.2010 17:08:30
Schick mir mal Deine aktuelle Version.

Grüße
Tobias Nopper
Lehrstuhl für Betriebssysteme