Warum erhalte ich Fehler beim Zugriff auf das Dateisystem, wenn ich Administrator bin?
3758
Chris
In einem Fall schrieb ich gerade eine Testanwendung, um alle Dateien auf meinem System aufzuzählen, und ich bekomme einen Fehler "Zugriff verweigert" für "C: \ Documents and Settings" (der von .NET zurückgegeben wurde, als ich sagte, "Gib mir." alle Unterordner in c: \ ').
Warum passiert dies?
Zu Ihrer Information: Ich verwende Windows 7.
2 Antworten auf die Frage
2
Phoshi
c:\documents and settingsexistiert nicht wirklich. Es zeigt direkt auf \users(ein halbwegs anständiger Dateipfad. Ich meine, \documents and settings?was haben sie gedacht?), Es ist kein echter Pfad, und es ist nur aus Kompatibilitätsgründen da. Sie versuchen, eine Datei unter zu speichernc:\documents and settings\username\hello.txt, sie wird funktionieren, aber sie ist nur aus Kompatibilitätsgründen vorhanden.
Löschen einer Datei von einem USB-Laufwerk - handelt es sich um eine Datei, für die nur Lesezugriff festgelegt werden kann? Wenn ja, ist das so?
Ja, ich habe versucht zu sagen, dass meine App tatsächlich "c: \ documents and settings" bekam, indem ich Directory.GetDirectories () aufrief, also bin ich verwirrt, warum die API ein Verzeichnis zurückgibt, das nicht wirklich existiert. Ich bekomme solche Fehler auch, wenn ich versuche, andere Ordner zu durchsuchen.
Chris vor 14 Jahren
1
Es ist leider nicht der einzige falsche Ordner im Dateisystem. Es existiert **, aber nur knapp. Ich fürchte, es ist nur etwas, mit dem Sie sich befassen müssen. Wenn das API es nicht zurückgibt, würden ältere Programme oder Programme, die darauf vertrauen, dass sie es zurückgeben, fehlschlagen, wobei Programme, die jetzt geschrieben werden, BESSER geschrieben werden können;)
Phoshi vor 14 Jahren
0
Haben Sie versucht, EIGENTUM des gesamten C-Laufwerks zu nehmen? Wenn Sie dies tun und den Benutzer so einstellen, dass Sie das Programm ausführen, sollte der Zugriff nicht verweigert werden.
mike vor 14 Jahren
0
**NEIN**. Unter XP war das vielleicht akzeptabel, aber Vista / 7 versucht, das Ganze zu ändern. Wir haben immer Administratorrechte! Sie werden es nicht, und wenn Sie Ihr Programm nicht schreiben können, ohne es zu benötigen, haben Sie einen verdammt guten Grund.
Phoshi vor 14 Jahren
0
@mike - Sehr schlechter Rat aus mehr Gründen als ich in einen Kommentar einbringen kann.
MDMarra vor 14 Jahren
2
1
darkstar13
Was auch immer Sie versuchen zu schreiben, ich glaube, wie Mike darauf hingewiesen hat, sollten Sie "Take Ownership" des Laufwerks / Ordners nehmen, dem Ihr Zugriff verweigert wurde. Auch wenn Sie der Administrator sind und die Administratorgruppe nicht in der Liste der Benutzer mit Zugriff definiert ist, können Sie immer noch nicht auf die Datei / das Laufwerk zugreifen. Einfach "Besitz übernehmen" der Datei, Problem gelöst. Sie würden in den Ordnereigenschaften sehen, dass Sie nicht über den Zugriff verfügen (Administratorgruppe). Deshalb wurde Ihnen der Zugriff auf den Ordner / die Datei / das Laufwerk usw. verweigert.