c# - Directory.GetFiles() kein Zugriff => überspringen

S

Samillon31112

Hallo zusammen!

Habe eine Frage:
Arbeite zurzeit an einem Programm das mir alle *.exe dateien eines verzeichnises das ich vorher via FolderBrowserDialog auswähle auslest und in eine listview speichert.

Jedoch kommt es bei manche dateinen zu Problemen(auf datei kann nicht zugegriffen werden) die dateien möchte ich jedoch überspringen und weitersuchen.
Zurzeit habe ich es so gelöst:

try
// {

// string[] filePaths = Directory.GetFiles(objDialog.SelectedPath, "*.exe", SearchOption.AllDirectories);


// foreach (string str in filePaths)
// {
// try{
// MessageBox.Show("geht in foreach");
// ListViewItem lvi = new ListViewItem(str);
// listView1.CheckBoxes = true;
// lvi.SubItems.Add(Path.GetFullPath(str));
// lvi.SubItems.Add(Path.GetFileNameWithoutExtension(str));
// lvi.SubItems.Add(Path.GetFullPath(str));
// listView1.Items.Add(lvi);
// }
// catch (Exception ex)
// {
// MessageBox.Show(ex.Message);
// }
// }
// }
// catch (Exception ex)
// {
// MessageBox.Show(ex.Message);
// }

hierbei bricht er aber immer bei der ersten datei ab und speichert nichts in den array :/

mfg
 
Der Zugriff auf den Pfad "C\windows\(...)" wurde verweigert.

und wenn sowas passiert möchte ich das er diese datei einfach überspringt und weitersucht.
 
sry für den Doppelpost aber als gast kann man einträge nicht editieren(is klar ;))

hab mir jetzt das genommen:

string path = objDialog.SelectedPath; // TODO
ApplyAllFiles(path, ProcessFile);
}
static void ProcessFile(string path) {/* ... */}
static void ApplyAllFiles(string folder, Action<string> fileAction)
{
foreach (string file in Directory.GetFiles(folder))
{
fileAction(file);
}
foreach (string subDir in Directory.GetDirectories(folder))
{
try
{
ApplyAllFiles(subDir, fileAction);
}
catch
{
// swallow, log, whatever
}
}
}

wo genau müsste ich reinschreiben das bei jeder datei die er findet die eine exe ist es in meine listview(wie bei meinem ersten post) speichert?
 
langsam wirds peinlich: 3-fach-post

Wolte nur danke sagen! Habs zusammengebracht:) vielen dank! Und einen guten rutsch ins neue Jahr wünsche ich!
 
Zurück