Mit C# Dateien suchen, was habe ich falsch gemacht?

...komplette Frage anzeigen

3 Antworten

Du listest irgendwie alle Dateien im Hauptverzeichnis auf und die Unterordner listest du auf anstatt sie zu betreten.

Such mal im "Object Browser" nach GetFiles. Die Funktion System.IO.Directory.GetFiles hat mehrere Signaturen (Überladungen). Vielleicht findest du eine Überladung (und einen Wert für das Optionen-Argument), die für deine Zwecke besser passt.

Wenn du einen Namen inkl. Pfad hast, kannst du mit System.IO.Path.GetFileName(fullyQualifiedName) den Dateinamen ohne Pfad extrahieren.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jundo324
09.12.2015, 16:23

naja er listet so wie es sehe alle Dateien im Ordner des Projektes auf, denn ich kopiere eine Datei hinein und beim Suchen finde ich sie dann auch in der ListBox. Weist du wie ich ihn dazu bringen aknn die gesammte Platte C und auch die Platte D zu durchsuchen?

0
private void suchenachliedern(object sender, RoutedEventArgs e) { listBox1.Items.Clear(); // string[] files = Directory.GetFiles(@"C:"); // string[] files = Directory.GetFiles(@"D:\\\\", "*", SearchOption.AllDirectories); //// string[] files = Directory.GetFiles(@"C:", "*", SearchOption.AllDirectories); //string[] dirs = Directory.GetDirectories(@"D:", "*"); // foreach (string file in files) { // listBox1.Items.Add(Path.GetFileName(file)); } // foreach (string dir in dirs) { // listBox1.Items.Add(dir); } GetAllFiles(@"C:\\\\"); } private static void GetAllFiles(string sDir) { foreach (string dir in Directory.GetDirectories(sDir)) { try { foreach (string File in Directory.GetFiles(dir, "*.MP3")) { string mp3File = Path.GetFileName(File); listBox1.Items.Add(mp3File); } GetAllFiles(dir); } catch (Exception Error) { // Console.WriteLine(Error.Message); } }

jetzt habe ich diesen Code, allerdings sagt er: Für das nicht statische Feld, die Methode oder die Eigenschaft "MainPage.listBox1" ist ein Objektverweis erforderlich. Wie kann ich so ein Objektverweis erstellen? habt ihr ne Lösung?

Antwort bewerten Vielen Dank für Deine Bewertung
string[] files = Directory.GetFiles(@"D:\\\\","*",SearchOption.AllDirectories);


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Dultus
09.12.2015, 13:12

Genauso würde ich es auch schreiben^^(War gerade dabei xD). der string, der die Files anzeigen soll, war nur nicht definiert und hatte daher nur Standard-Windows files ausgelesen^^.

MfG

0
Kommentar von jundo324
09.12.2015, 13:31

Oh, Danke ^^

es gibt aber noch ein Problem u zwar sucht er denke ich mal nur in dem Ordner wo das Programm gespeichert ist, da er jetzt Bilder... von dem Programm findet aber nicht die Dateien die ich zb im Bilder Ordner habe, was er aber tun soll.



0

Was möchtest Du wissen?