Forum: PC-Programmierung C# Prüfen ob Rechte zum Löschen einer Datei gegeben?


von TheNitramX (Gast)


Lesenswert?

Hallo!

Weiß jemand, wie es möglich ist zu prüfen, ob eine Datei gelöscht werden 
darf ohne dafür tatsächlich zu versuchen die Datei zu löschen (d.h. ohne 
ausnutzen von Exceptions)?

Hintergrund ist der, dass ich eine Konsolenanwendung geschrieben habe, 
die Dateien nach übergebenen (Erstellungs-, Änderungs-, Zugriffs-)Datum 
löscht.
Unter anderem kann man auch "-sim" übergeben, wodurch der 
Programmdurchlauf  simuliert wird("Try and Error Löschen" ist deswegen 
nicht machbar).

Ich komme an der Stelle überhaupt nicht mehr weiter...

von Peter (Gast)


Lesenswert?

du könntest mit GetAccessControl die Rechte abfragen, aber das ganze 
wird nie 100% funktionieren. Du kannst z.b. Alle rechte haben aber das 
Dateisystem ist read-only dann darst du auch nicht löschen. Selbst wenn 
du alle Rechte auf eine Datei besitzt dann kann es noch sein das du in 
dem Verzeichniss keine löschrechte besitzt.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ebenso kann das löschen nach dieser Abfrage Fehlschalgen weil die Datei 
oder deren rechte danach geändert/gelöscht wurden ;)

von TheNitramX (Gast)


Lesenswert?

Wow! Schnelle Antworten :)

Ich habe gehofft es gibt im .NET Framework etwas, mit dem ich relativ 
schnell checken kann, ob der Benutzer (bzw. der Rechtekontext), der die 
Anwendung gestartet hat, das Recht hat eine übliche Dateioperation 
durchzuführen. Ich schaue mal ob GetAccessControll das möglich macht. 
Danke dafür :)

Danke auch für die Hinweise mit dem ReadOnly FS... ich seh schon - 
dieser Simulationslauf wird mich noch Nerven kosten.

Dass die Rechte zwischenzeitlich geändert werden könnten, sehe ich nicht 
als Problem an, dass die Anwendung beachten müsste. Darauf wird der 
Benutzer hingewiesen... soll er doch versuchen die Zukunft zu 
beeinflussen ;)

von siehe auch (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.