# PCS Toolkit - Windows Cleanup Script # Run as Administrator $ErrorActionPreference = 'SilentlyContinue' $timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss" $logFile = "$env:USERPROFILE\Desktop\Cleanup_$timestamp.log" function Log($msg) { $line = "$(Get-Date -Format 'HH:mm:ss') - $msg" Write-Host $line Add-Content $logFile $line } Log "========================================" Log " PCS Toolkit - System Cleanup" Log "========================================" Log "Computer: $env:COMPUTERNAME" Log "User: $env:USERNAME" Log "Log file: $logFile" Log "" $totalFreed = 0 function Get-FolderSize($path) { if (Test-Path $path) { return (Get-ChildItem $path -Recurse -Force -EA SilentlyContinue | Measure-Object -Property Length -Sum).Sum / 1MB } return 0 } function Clean-Folder($path, $name) { Log "Cleaning $name ($path)..." if (Test-Path $path) { $sizeBefore = Get-FolderSize $path Remove-Item "$path\*" -Recurse -Force -EA SilentlyContinue $sizeAfter = Get-FolderSize $path $freed = $sizeBefore - $sizeAfter Log " Freed: $([math]::Round($freed, 2)) MB" return $freed } else { Log " Path not found, skipping" return 0 } } $totalFreed += Clean-Folder "$env:SystemRoot\Temp" "Windows Temp" $totalFreed += Clean-Folder "$env:TEMP" "User Temp" $totalFreed += Clean-Folder "$env:SystemRoot\Prefetch" "Prefetch" $totalFreed += Clean-Folder "$env:SystemRoot\SoftwareDistribution\Download" "Windows Update Cache" $totalFreed += Clean-Folder "$env:LOCALAPPDATA\Google\Chrome\User Data\Default\Cache" "Chrome Cache" $totalFreed += Clean-Folder "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Default\Cache" "Edge Cache" $totalFreed += Clean-Folder "$env:LOCALAPPDATA\Microsoft\Windows\Explorer" "Thumbnail Cache" $totalFreed += Clean-Folder "$env:LOCALAPPDATA\Microsoft\Windows\WER" "Error Reports" Log "Emptying Recycle Bin..." Clear-RecycleBin -Force -EA SilentlyContinue Log " Done" Log "" Log "========================================" Log "CLEANUP COMPLETE" Log "Total Space Freed: $([math]::Round($totalFreed, 2)) MB" Log "========================================" Log "Log saved to: $logFile" explorer.exe "/select,$logFile" Read-Host "Press Enter to exit"