Eine bestimmte exe-Datei im System suchen
-
Als Beispiel für die Suche nach einer bestimmten exe-Datei hier nach winword.exe
string suche = "winword.exe"; string root = "c:\\program files\\microsoft office"; // wird gefunden! // string root = "c:\\program files"; // wird nicht gefunden! // string root = "c:\\"; // wird nicht gefunden! string pfad = ""; bool gefunden = false; int i = 0; try { foreach (string f in Directory.EnumerateFiles(root, suche, SearchOption.AllDirectories)) { pfad = f.ToLower(); listBox1.Items.Add(pfad.ToString()); gefunden = true; i++; } } catch { // nicht zugriffsberechtigte files werden abgefangen! } // Kontrolle if (gefunden) label3.Text = "gefunden: " + i.ToString() + " " + pfad.ToString(); else label3.Text = "nicht gefunden!";
Problem:
Ich kann als root-Verzeichnis nicht "C:" oder "c:\program files" angeben.
try / catch läuft so nicht -> geliefert: i = o, kein pfad
-
Du musst das vermutlich selbst rekursiv ausprogrammieren, und dann selbst Fehler wegen Access Denied ignorieren. Wegen Verzeichnissen wie "System Volumen Information" etc.
try / catch läuft so nicht -> geliefert: i = o, kein pfad
Das nix Deutsch.
-
Hallo berniebutt,
-
Th69 schrieb:
Hallo berniebutt,
Ist schon ganz gut für den Zweck. Muss aber selbst stark erweitert werden.
Suche für eigenes Programm die Funktion [Start] suchen [myFile.exe][Dateipfad öffnen]
und genauso schnell.Finde leider nichts fertiges.
@hustbaer: alles nix gut Deutsch!
edit: Lösung gefunden. Läuft aber noch sehr langsam.