VB-Homepage Tipp 416

Eine Datei unwiederruflich löschen

Kill "C:\sonstwas.txt"

Klar, dieser VB eigene Befehl löscht die angegebene Datei, aber in bestimmten Situationen soll auch sicher gestellt werden, das diese Datei auch nicht wieder herstellbar ist, was im dargestellten Fall nicht realisiert ist. Rufen Sie irgendein Undelete Tool auf und die Datei ist wieder vorhanden.

Es ist keine neue Funktion die ich Ihnen als Lösung anbiete, lediglich die Datei wird vor dem eigentlichen Löschvorgang Byteweise mit einem beliebigen Zeichen gefüllt. Eine Wiedeherstellung scheitert daher am nicht mehr existenten Inhalt der Datei. Und so könnte man es angehen.

Allgemein/Deklaration
'Typdefinition
Private Type Datensatz
   Crypt As String * 1
End Type

Die Funktion
Sub Kill_File(Dateiname)
Dim Zeichen As Datensatz

'überschreibendes Zeichen
Zeichen.Crypt = "X"

'Dateiattribut setzen
SetAttr Dateiname, vbArchive

'Binärer Dateizugriff
Open Dateiname For Binary As #1

   'Schleife, Größe der Datei
   For x = 1 To FileLen(Dateiname)
      'Zeichen schreiben
      Put #1, x, Zeichen
   Next x

'Datei schließen
Close 1

'Datei löschen
Kill (Dateiname)

End Sub

Dieser Funktion wird lediglich Pfad und Dateiname übergeben und weg ist die Datei.

Tipp-Download

Quelle :

Zurück zur Übersichtsseite