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-ID: 96394

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

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

Biber
Biber 08.09.2008 um 18:15:35 Uhr
Goto Top
Moin Przigoda,

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

Grüße
Biber
bastla
bastla 08.09.2008 um 18:16:14 Uhr
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]
Przigoda
Przigoda 08.09.2008 um 19:53:52 Uhr
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...
Przigoda
Przigoda 09.09.2008 um 16:24:53 Uhr
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""")