Hallo,
kleines Problem. Ich möchte alle Dateien aus einem Verzeichnis auslesen inkl.
Unterordner. Funktioniert auch sehr gut nur irgendwann gibt er mir eine Exception mit der Mitteilung das der Pfad zu lang ist.
Die Pfade sind auch sehr lang.
Gibt es eine Möglichkeit trotzdem das Verzeichnis durchlaufen zu lassen ?
static void ReadDirectory(string folder)
{
// Alle Verzeichnisse aus dem aktuellen Folder auslesen
string[] subDirs = Directory.GetDirectories(folder);
foreach (string subDir in subDirs)
{
string[] files = Directory.GetFiles(subDir, "*.dwg");
foreach (string file in files)
{
Console.WriteLine(file);
}
// Console.WriteLine(subDir);
ReadDirectory(subDir);
}
}
Fehlermeldung:
Unhandled Exception: System.IO.PathTooLongException: The specified path, file name, or both are too long.
Meines Wissens nicht.
Bei mir hat Eclipse in einer Endlosschleife immer weiter verschachtelte Ordner angelegt. Wenn ich versucht habe das über den Explorer zu löschen kam eine ähnliche Fehlermeldung.
As a man thinketh in his heart, so he is.
Das geht schon, nur unterstützt es das .Net Framework nicht. Du musst "\?" an den Pfad voranstellen, dann kann der Pfad bis zu 32K Unicode Zeichen enthalten.
Es gibt aber sicherlich bereits .Net Komponenten die mit langen Dateipfaden arbeiten können. =>google
Bei mir hat Eclipse in einer Endlosschleife immer weiter verschachtelte Ordner angelegt. Wenn ich versucht habe das über den Explorer zu löschen kam eine ähnliche Fehlermeldung.
Seit Vista oder W7 unterstützt auch der Windows Explorer lange Dateipfade. Spät aber doch...
Seit Vista oder W7 unterstützt auch der Windows Explorer lange Dateipfade. Spät aber doch...
Also ich musste jedenfalls kürzlich unter Win7 eine Ordnerstruktur ein paar Verzeichnisse aufwärts verschieben, um sie löschen zu können...
Scheinbar ist wohl auch dort die Unterstützung noch nicht perfekt.