Tag Leute
Ich versuche ein Verzeichnis mit Unterverzeichnissen und Dateien zu löschen. Diese Dateien und Verzeichnisse können Attribute wie 'schreibgeschützt' oder 'versteckt' tragen. Wenn ich keine Dateien mit speziellen Attributen in den Verzeichnissen hab oder die Verzeichnisse selber Attribute tragen, dann kann ich das Verzeichnis hiermit löschen:
Directory.Delete(path, true);
Wie kann ich denn das Verzeichnis trotz geschützer Dateien oder Verzeichnissen löschen?
Gruß, Linus
Komm, kipps doch de Siffon rab!
Indem du rekursiv durch die Unterverzeichnisse gehst und die Attribute per File.SetAttributes() entfernst.
Hallo Linus,
FileInfo bzw. DirectoryInfo und da dann das Property Attributes
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
Hallo,
das ist zwar alles schon ziemlich lange her hier aber ich muss ja nicht alles nochmal schreiben.
ich habe das gleiche Problem:
ich will auf mehreren Servern Nutzerprofile löschen. Sind ja auch nur verzeichnisse...
Diese können auf schreibgeschützt sein.
Das es wohl keine andere möglichkeit als das rekursive durchlaufen der verzeihnisse und das ändern der attribs der dateien gibt, damit hab ich schon fast abgeschlossen 😮(
aber es kann auch sein, dass da ggf. noch dateien im zugriff sind.
gibt es eine möglichkeit das löschen der dateien zu erzwingen?
oder so was wie den process finden und den killen und dann müßte doch die datei frei sein...
vielleicht kann mir ja jemand helfen...
DANKE
MFG Veasel
Hallo veasel,
Dateien, die im Zugriff sind, lassen sich eigentlich nicht löschen. Normalerweise trägt man entsprechende Löschbefehle in RunOnce ein, so dass die Dateien beim nächsten Systemstart gelöscht werden.
Man kann auch brutal sein und den Programmen die geöffneten Dateien von außen schließen. Das kann z.B. der ProcessExplorer von Sysinternals. Ich weiß aber nicht, welche Funktionen er dazu benutzt. Allerdings kann es bei so einem Vorgehen gut passieren, dass die Programme anschließend abstürzen, wenn sie die Dateien benutzen wollen.
herbivore
hi herbivore,
ja von sysinternals nutzen unsere admins auch ein paar tools, z.b. den unlocker oder so damit kann man die processe lösen, die an einer datei hängen und sie dann löschen.
genau das wollte ich auch machen...
hintergrund ist der, dass auf unseren terminalservern ein ums andere mal die nutzerprofile kaputt gehen und diese dann gelöscht werden müssen, das ist bei ca. 20 servern eine mühsame aufgabe, deshalb wollten die jungs ein proggi dafür haben...
das ist ja echter mist... 😮)
aber nochmal was anderes...irgendwie bekomm ich das mit dem rekursiven durchlaufen der verzeichnisse nicht hin...
kannst mal nen kleinen hinweis geben...?
wäre echt nett!
danke!
MFG Veasel
Hallo veasel,
kannst mal nen kleinen hinweis geben...?
ja, Forumssuche. Wurde echt oft besprochen, auch mit Codebeispielen. Bitte poste die besten Treffer hier. Vielen Dank!
herbivore