Im Laufe der Zeit sammeln sich auf dem System viele temporäre Dateien an. Bei diesen Dateien mit der Endung tmp handelt es sich um Dateien, die entweder vom System selbst oder von den Anwendungsprogrammen erzeugt wurden, um Daten und oder Einstellungen temporär zwischenzuspeichern. Diese temporären Dateien belegen nicht nur Speicherplatz, sondern verlangsamen auch das System. Das nachfolgende Beispiel zeigt, wie man das gesamte System - also alle Festplatten-Laufwerke - nach temporären Dateien durchsuchen und diese autom. löschen kann. Am einfachsten erschien es mir für diesen Zweck das FileSystemObject oder kurz FSO zu verwenden. Dieses ist Bestandteil der Windows Scripting Runtime-DLL und wird über "Projekt - Verweise" in das aktuelle VB-Projekt eingefügt. Um das nachfolgende Beispiel zu testen, erstellen Sie ein neues Projekt und setzen zunächst einen Verweis auf obige DLL. Plazieren Sie auf die Form einen CommandButton (cmdStart), ein Label-Control (lblPath) und eine CheckBox (chkShowDialog). Fügen Sie nachfolgende Code in den Codeteil der Form ein. Option Explicit Dim FSO As FileSystemObject Private Sub Form_Load() ' FileSystemObject-Variable erstellen Set FSO = New FileSystemObject chkShowDialog.Caption = "Löschen mit Bestätigung" chkShowDialog.Value = 1 cmdStart.Caption = "Starten" End Sub Private Sub cmdStart_Click() Dim Drives As Drives Dim Drive As Drive ' alle Laufwerke ermitteln Screen.MousePointer = vbHourglass Set Drives = FSO.Drives For Each Drive In Drives ' Laufwerkstyp Festplatte? If Drive.DriveType = Fixed Then ' jetzt alle Ordner nach TMP-Files durchsuchen ' und löschen FSO_KillTempFiles Drive.DriveLetter & ":\", _ CBool(chkShowDialog.Value) End If Next Screen.MousePointer = vbNormal End Sub ' Alle TMP-Dateien eines Ordners löschen Private Sub FSO_KillTempFiles(ByVal sPath As String, _ Optional ByVal bShowDialog As Boolean = False) Dim Folder As Folder Dim SubFolder As Folder ' Ggf. abschliessenden Backslash anfügen If Right$(sPath, 1) <> "\" Then sPath = sPath & "\" lblPath.Caption = sPath DoEvents Set Folder = FSO.GetFolder(sPath) If Dir(sPath & "*.tmp") <> "" Then If bShowDialog Then ' zunächst Lösch-Hinweis anzeigen If Msgbox("Der Ordner " & sPath & " enthält ein " & _ "oder mehrere temporäre Dateien" & vbCrLf & _ "Dateien jetzt löschen?", vbQuestion + vbYesNo, _ "Löschbestätigung") = vbYes Then ' temporäre Dateien löschen Kill sPath & "*.tmp" End If Else ' Löschen ohne Abfrage Kill sPath & "*.tmp" End If End If ' Ggf. Fehler "Zugriff verweigert" ignorieren On Local Error Resume Next ' Unterordner If Folder.SubFolders.Count > 0 Then For Each SubFolder In Folder.SubFolders ' Hier wird die Funktion REKURSIV aufgerufen, ' um alle weiteren Unterordner des SubFolders ' zu ermitteln FSO_KillTempFiles sPath & SubFolder.Name, bShowDialog Next End If End Sub Dieser Tipp wurde bereits 34.581 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |