Directory.GetFiles method schlägt bei der ersten Begegnung mit einem Ordner fehl, zu dem es keine Zugriffsrechte hat.UnauthorizedAccessException kann Directory.GetFiles-Fehler nicht beheben
Die Methode löst eine UnauthorizedAccessException aus (die abgefangen werden kann), aber zu dem Zeitpunkt ist die Methode bereits fehlgeschlagen/beendet.
Der Code I bin mit unten aufgeführt:
try
{
// looks in stated directory and returns the path of all files found
getFiles = Directory.GetFiles(
@directoryToSearch,
filetype,
SearchOption.AllDirectories);
}
catch (UnauthorizedAccessException)
{
}
Soweit ich weiß, gibt es keine Möglichkeit vorher zu prüfen, ob ein bestimmte Ordner hat Zugriffsrechte definiert.
In meinem Beispiel suche ich auf einer Festplatte über ein Netzwerk und wenn ich auf einen Root-Zugriff nur Ordner stößt, schlägt mein Programm fehl.
Ich werde dies auszuprobieren und zu Ihnen zurück. Können Sie bitte erklären, was der '=> Operator tut? Danke – Ric
@Ric: '=>' ist der Lambda-Operator. Sie können über Lambda-Ausdrücke in C# hier lesen: http://msdn.microsoft.com/en-us/library/bb397687.aspx –
Perfekt! Cheers Fredrik – Ric