Laden...

Verzeichnis und Inhalt mit Attributen löschen

Erstellt von Linus vor 17 Jahren Letzter Beitrag vor 16 Jahren 1.713 Views
L
Linus Themenstarter:in
82 Beiträge seit 2005
vor 17 Jahren
Verzeichnis und Inhalt mit Attributen löschen

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!

F
722 Beiträge seit 2005
vor 17 Jahren

Indem du rekursiv durch die Unterverzeichnisse gehst und die Attribute per File.SetAttributes() entfernst.

2.082 Beiträge seit 2005
vor 17 Jahren

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

V
327 Beiträge seit 2005
vor 16 Jahren

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

49.485 Beiträge seit 2005
vor 16 Jahren

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

V
327 Beiträge seit 2005
vor 16 Jahren

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

49.485 Beiträge seit 2005
vor 16 Jahren

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