przigoda
Goto Top

Löschen auch ohne Abfrage

Hallo Leute,

habe son kleines Problem:
Eigentlich will ich nur kurz ein Verzeichnis löschen, falls es denn existiert:
If My.Computer.FileSystem.DirectoryExists("bla") Then  
    My.Computer.FileSystem.DeleteDirectory("bla", FileIO.DeleteDirectoryOption.DeleteAllContents, FileIO.RecycleOption.DeletePermanently)  
End If

Es werden bis auf die Datei "ct32br.dll" alle anderen Dateien im Verzeichnis werden ohne Probleme gelöscht. Nur die "ct32br.dll kann nicht gelöscht werden: "Zugriff verweigert" - Das Löschen per Hand im Explorer geht aber ohne Probleme, daher habe ich mal nen bisschen probiert und mittels
If My.Computer.FileSystem.FileExists("bla\ct32br.dll") Then  
    My.Computer.FileSystem.DeleteFile("pkcs11\ct32br.dll", _  
                            FileIO.UIOption.AllDialogs _
                            FileIO.RecycleOption.DeletePermanently)
End If

das Problem teils gelöst, jetzt kommt nämlich, wenn die Datei vorhanden ist, die Abfrage, die man im Explorer auch kriegt: "Löschen von Dateien bestätigen" - "Möchten Sie 'ct32br.dll' wirklich löschen?" - Ja - Nein. Der Benutzer soll aber davon eigentlich nichts mitkriegen, daher nun meine Frage, kann man das irgendwie anders lösen? Z.B. automatischen Ja - Anklicken ohne den Benutzer zu fragen oder ähnliches?

Besten Dank für eure Hilfe und Antworten im Voraus!

MfG Przigoda

Content-Key: 96394

Url: https://administrator.de/contentid/96394

Printed on: April 16, 2024 at 05:04 o'clock

Member: Biber
Biber Sep 08, 2008 at 16:15:35 (UTC)
Goto Top
Moin Przigoda,

und wenn Du den zweiten Parameter weglässt oder explizit auf den Default OnlyErrorDialogs statt AllDialogs setzt?

Grüße
Biber
Member: bastla
bastla Sep 08, 2008 at 16:16:14 (UTC)
Goto Top
Hallo Przigoda!

Was passiert denn bei
If My.Computer.FileSystem.DirectoryExists("bla") Then  
    My.Computer.FileSystem.DeleteDirectory("bla", FileIO.UIOption.OnlyErrorDialogs,         FileIO.RecycleOption.DeletePermanently)  
End If
und (nur für den Fall, dass noch jemand mitraten mag): Ist die besagte "ct32br.dll" schreibgeschützt, versteckt, als Systemdatei gekennzeichnet?

Grüße
bastla

[Edit] @Biber: Wird das bei Dir zur Gewohnheit? face-wink [/Edit]
Member: Przigoda
Przigoda Sep 08, 2008 at 17:53:52 (UTC)
Goto Top
also FileIO.UIOption.OnlyErrorDialogs, _ bewirkt leider nur das mit die Fehlermeldung im Detail angezeigt wird. und die Datei ist eigentlich nicht versteckt schreibgeschützt oder ähnliches, jedesmal habe ich die Attribute schon mal per Hand durchprobier...
Member: Przigoda
Przigoda Sep 09, 2008 at 14:24:53 (UTC)
Goto Top
so ich habe jetzt endlich ne Möglichkeit gefunden zwar auch nicht schön, aber sie scheint zu laufen. Mittels Shell kann er die Datei ohne Probleme löschen:

Shell("cmd /c del """ + FileSystem.CurDir + "\bla\ct32br.dll""")