ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
806
806
EMPFEHLEN
-
Hi Leute,
ich habe das Problem, dass das Programm mit Directory.GetFiles("Path", "*", SearchOption.AllDirectories) unter Windows 7 auf den Ordner "C:\Dokumente und Einstellungen\" zugreifen möchte der allerdings ja nicht wirklich existiert und der dann den Fehlerausspuckt.Der Zugriff auf den Pfad "C:\Dokumente und Einstellungen\" wurde verweigert.
Ich habe schon im Manifest eingestellt, dass das Programm als Admin gestartet werden muss, allerding nützt das nichts. Des weiteren habe ich Probiert über die Where() Lambda Expression nach den Datei-Attributen, welche der Ordner hat auszusortieren, das hat aber auch nicht geholfen.
Hoffe Ihr versteht mein Problem.
Grüße Nico
-
Hi
das liegt wahrscheinlich daran, dass es das Verzeichnis "Dokumente und Einstellungen" unter Vista/7 gar nicht gibt.
Zu XP-Zeiten war der Name wirklich noch so, ab Vista heißt das Verzeichnis in Wirklichkeit aber Users, und wird nur im Explorer mit dem alten Namen angezeigt.
Macht es nur unnötig kompliziert, ist aber nun leider so.
Gruß
-
Hi
nun gut dass würde ja die sache mit C:\\ nicht wirklich erklären. Denn man geht doch eigentlich auf die aktuelle Ordnerstruktur. Und auserdem ist dies nicht nur bei C:\\ so, sondern auch bei einer externen Festplatte, die kein C:\\ enthält. Da sagt der mir dann sowas wie "Der Ordner System Information Service" oder so ähnlich.
Naja ich habs jetzt auf ne andere art gelöst. Für die dies Interresiert.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
private void GetOrdner(string pfad) { try { DirectoryInfo dirInfo = new DirectoryInfo(pfad); DirectoryInfo[] dInfo = dirInfo.GetDirectories(); if (dirInfo.Name == "$RECYCLE.BIN") { return; } Ordner.Add(dirInfo.FullName); for (int i = 0; i < dInfo.Count(); i++) { try { GetOrdner(dInfo[i].FullName); } catch { } } } catch { } } private void GetFiles() { DirectoryInfo di; for (int i = 0; i < Ordner.Count(); i++) { try { di = new DirectoryInfo(Ordner[i]); FileInfo[] fi = di.GetFiles(); for (int j = 0; j < fi.Count(); j++) { Dateien.Add(fi[j].FullName + " | " + ((((fi[j].Length / 1024) / 1024) <= 0) ? (fi[j].Length / 1024).ToString() + " KB" : ((fi[j].Length / 1024) / 1024).ToString() + " MB")); } } catch { } } }
zuerst werden alle Ordner, bei denen KEIN Fehler auftritt in einer Liste gespeichert. Da jede Festplatte diesen Resycle.Bin Order hatte lass ich diesen einfach überspringen, da der mich nicht interresiert. Danach wird die Ordner Liste durchgegangen und alle Dateien unter den Ordnern werden ausgelesen.
Vielleicht findet ja noch jemand eine Erklärung für mein ursprüngliches Problem. Würde mich sehr Interresieren.
Grüße,
Nico
Ähnliche Themen
-
c# - Directory.GetFiles() kein Zugriff => überspringen
Von Samillon31112 im Forum .NET Windows FormsAntworten: 6Letzter Beitrag: 30.12.09, 13:17 -
Directory.GetFiles(path,SearchPattern) !?
Von axelfxxx im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 02.03.09, 14:55 -
C# - Getfiles im selben Directory
Von Alexander12 im Forum .NET DatenverwaltungAntworten: 3Letzter Beitrag: 23.10.05, 14:27 -
Directory-Listing hat eine komischen Fehler
Von ahykes im Forum PHPAntworten: 5Letzter Beitrag: 11.05.05, 19:12 -
GS-Auftrag und BDE 32 Fehler 41 directory in use by earlier version
Von Chipnik im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 27.04.05, 20:59





Zitieren

Login





