.VBS BETİK : iconcache_reset.vbs

Option Explicit

Dim objShell, strCmd, objFSO, appData, tempFolder

Set objShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

' Kullanıcı profilindeki AppData klasörünün yolunu al
appData = objShell.ExpandEnvironmentStrings("%LocalAppData%")
tempFolder = objShell.ExpandEnvironmentStrings("%Temp%")

' İkon belleği dosyası
Dim iconCachePath
iconCachePath = appData & "\IconCache.db"

' Explorer işlemini sonlandır
strCmd = "taskkill /F /IM explorer.exe"
objShell.Run strCmd, 0, True

' İkon önbellek dosyasını sil
If objFSO.FileExists(iconCachePath) Then
    objFSO.DeleteFile iconCachePath, True
End If

' Thumbs.db dosyalarını temizlemek için geçici klasörü kontrol et
If objFSO.FolderExists(tempFolder) Then
    Dim tempFolderObj, fileObj
    Set tempFolderObj = objFSO.GetFolder(tempFolder)
    For Each fileObj In tempFolderObj.Files
        If LCase(objFSO.GetExtensionName(fileObj.Name)) = "db" Then
            objFSO.DeleteFile fileObj.Path, True
        End If
    Next
End If

' Explorer'ı yeniden başlat
strCmd = "explorer.exe"
objShell.Run strCmd, 0, False

' Temizleme işlemi tamamlandı
MsgBox "İkon belleği temizlendi ve Explorer yeniden başlatıldı.", vbInformation, "İşlem Tamamlandı"

' Objeleri serbest bırak
Set objShell = Nothing
Set objFSO = Nothing