# BleachBit Script # Downloads BleachBit portable, extracts it, and runs the cleanup command param( [string]$InstallPath = "C:\Quest" ) $BleachBitCleaners = @( "adobe_reader.cache", "adobe_reader.mru", "adobe_reader.tmp", "amule.known_clients", "amule.known_files", "amule.logs", "amule.temp", "brave.cache", "chromium.cache", "chromium.vacuum", "deepscan.backup", "deepscan.ds_store", "deepscan.thumbs_db", "deepscan.tmp", "deepscan.vim_swap_root", "deepscan.vim_swap_user", "discord.cache", "discord.vacuum", "filezilla.mru", "firefox.cache", "firefox.crash_reports", "firefox.url_history", "flash.cache", "flash.cookies", "gimp.tmp", "google_chrome.cache", "google_earth.temporary_files", "google_toolbar.search_history", "gpodder.cache", "gpodder.logs", "hexchat.logs", "hippo_opensim_viewer.cache", "internet_explorer.cache", "java.cache", "libreoffice.history", "microsoft_edge.cache", "microsoft_office.debug_logs", "microsoft_office.mru", "midnightcommander.history", "miro.cache", "miro.logs", "octave.history", "openofficeorg.cache", "openofficeorg.recent_documents", "opera.cache", "paint.mru", "palemoon.cache", "pidgin.cache", "pidgin.logs", "realplayer.logs", "safari.cache", "screenlets.logs", "seamonkey.cache", "secondlife_viewer.Cache", "secondlife_viewer.Logs", "silverlight.temp", "skype.installers", "slack.cache", "smartftp.cache", "smartftp.log", "smartftp.mru", "system.recycle_bin", "system.tmp", "system.updates", "teamviewer.logs", "teamviewer.mru", "thunderbird.cache", "vim.history", "vlc.memory_dump", "vlc.mru", "vuze.cache", "vuze.logs", "vuze.stats", "vuze.temp", "warzone2100.logs", "waterfox.cache", "winamp.mru", "windows_defender.backup", "windows_defender.history", "windows_defender.logs", "windows_defender.quarantine", "windows_defender.temp", "windows_explorer.mru", "windows_explorer.run", "windows_explorer.search_history", "windows_explorer.shellbags", "windows_explorer.thumbnails", "windows_media_player.cache", "windows_media_player.mru", "winrar.history", "winrar.temp", "winzip.mru", "wordpad.mru", "yahoo_messenger.cache", "yahoo_messenger.chat_logs", "yahoo_messenger.logs", "zoom.cache", "zoom.logs" ) Write-Host "Stopping Edge processes..." try { $EdgeProcesses = Get-Process -Name "*Edge*" -ErrorAction SilentlyContinue if ($EdgeProcesses) { $EdgeProcesses | Stop-Process -Force -ErrorAction Stop Write-Host "Edge processes stopped successfully." } else { Write-Host "No Edge processes running." } } catch { Write-Host "Warning: Could not stop Edge processes: $($_.Exception.Message)" } $DownloadURL = "https://download.bleachbit.org/BleachBit-5.0.2-portable.zip" $zipPath = "$InstallPath\BleachBit.zip" $exePath = "$InstallPath\BleachBit-Portable\bleachbit_console.exe" # Create directory if it doesn't exist if (-not (Test-Path $InstallPath)) { New-Item -Path $InstallPath -ItemType Directory -Force | Out-Null } # Download if not exists if (-not (Test-Path $zipPath)) { Write-Host "Downloading BleachBit..." Invoke-WebRequest -Uri $DownloadURL -OutFile $zipPath -UseBasicParsing } # Extract if exe doesn't exist if (-not (Test-Path $exePath)) { Write-Host "Extracting BleachBit..." Expand-Archive -Path $zipPath -DestinationPath $InstallPath -Force } # Run the cleanup command Write-Host "Running BleachBit cleanup..." $CleanerArgs = $BleachBitCleaners -join " " $output = Start-Process -FilePath $exePath -ArgumentList "--clean $CleanerArgs" -NoNewWindow -Wait -PassThru -ErrorAction Stop # Output JSON result $result = @{ success = $true output = $output } | ConvertTo-Json -Compress Write-Output $result