Ich versuche, eine Liste aller Dateien anzuzeigen, die im ausgewählten Verzeichnis gefunden wurden (und optional alle Unterverzeichnisse). Das Problem, das ich habe, ist, dass wenn die GetFiles () -Methode auf einen Ordner stößt, auf den sie nicht zugreifen kann, eine Ausnahme ausgelöst wird und der Prozess gestoppt wird.
Wie ignoriere ich diese Ausnahme (und ignoriere den geschützten Ordner / die geschützte Datei) und füge der Liste weiterhin zugängliche Dateien hinzu?
try
{
if (cbSubFolders.Checked == false)
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath);
foreach (string fileName in files)
ProcessFile(fileName);
}
else
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.*", SearchOption.AllDirectories);
foreach (string fileName in files)
ProcessFile(fileName);
}
lblNumberOfFilesDisplay.Enabled = true;
}
catch (UnauthorizedAccessException) { }
finally {}