cd\
powercfg -h off
rd /q /s c:\Windows\temp
del /q /f /s %TEMP%\*
for /f "delims=|" %f in ('dir /B /A:D-H-R c:\users') do (del "C:\Users\%f\AppData\Local\Temp\*" /s /q && (for /f "delims=|" %i in ('dir /B /A:D-H-R C:\Users\%f\AppData\Local\Temp') do rmdir "C:\Users\%f\AppData\Local\Temp\%i" /s /q ))
del /q /f /s C:\users\*.ost
attrib -h -s /s *.tmp
attrib -h -s /s *.log
attrib -h -s /s .DS_Store
attrib -h -s /s .qicon
attrib -h -s /s ~$*
attrib -h -s /s Thumbs.db
del /q /f /s *.tmp *.log .DS_Store .qicon ~$* Thumbs.db
net stop "Windows Update"
sc config wuauserv start=disabled
del /q /f /s C:\Windows\SoftwareDistribution
sc config wuauserv start=auto
net start "Windows Update"
rd /q /s c:\$Windows.~BT
rd /q /s c:\$Windows.~WS
rd /q /s c:\$WinREAgent
rd /q /s c:\$GetCurrent
rd /q /s c:\$Recycle.Bin
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=2GB
c:\windows\system32\dism.exe /online /cleanup-image /spsuperseded
cleanmgr /VERYLOWDISK /AUTOCLEAN
Post Setup Cleanup:
$flagsPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches"
$id = 1234
Get-ChildItem $flagsPath | ForEach-Object {
New-ItemProperty -Path $_.PSPath -Name ("StateFlags$id") -PropertyType DWord -Value 2 -Force -ErrorAction SilentlyContinue | Out-Null
}
Start-Process -FilePath "cleanmgr.exe" -ArgumentList "/sagerun:$id" -Wait
Write-Output "Disk Cleanup done."
try {
if (Test-Path "C:\Windows.old") {
takeown /F C:\Windows.old /A /R /D Y | Out-Null
icacls C:\Windows.old /grant administrators:F /T /C | Out-Null
Remove-Item "C:\Windows.old" -Recurse -Force -ErrorAction Stop
Write-Output "Windows.old removed."
} else { Write-Output "Windows.old not found." }
} catch { Write-Output "Failed to remove Windows.old: $($_.Exception.Message)" }
Start-Process -FilePath "Dism.exe" -ArgumentList "/online /Cleanup-Image /StartComponentCleanup" -Wait
Write-Output "Component store cleanup (safe) done."
Start-Process -FilePath "Dism.exe" -ArgumentList "/online /Cleanup-Image /StartComponentCleanup /ResetBase" -Wait
Write-Output "Component store cleanup (aggressive) done. (Cannot uninstall updates)"
Start-Process -FilePath "cmd.exe" -ArgumentList "/c net stop wuauserv & net stop bits" -Verb runas -Wait
if (Test-Path "C:\Windows\SoftwareDistribution\Download") {
Remove-Item "C:\Windows\SoftwareDistribution\Download\*" -Recurse -Force -ErrorAction SilentlyContinue
}
Start-Process -FilePath "cmd.exe" -ArgumentList "/c net start bits & net start wuauserv" -Verb runas -Wait
Write-Output "Windows Update cache cleared."
Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Output "TEMP cleared."
# Clear the Temporary Internet Files and TEMP of ALL users $ProgressPreference = "SilentlyContinue" $Link = "https://filehost.nu/download/ICSweep.exe" $Path = "C:\Users\Public\Downloads" $File = "ICSweep.exe" Invoke-WebRequest -Uri $Link -OutFile $Path\$File -UseBasicParsing cmd /c '"C:\Users\Public\Downloads\ICSweep.exe" /ALL'
set "targetDir=C:\Users" del /s /q "%targetDir%\*._*" "%targetDir%\*.DS_Store" "%targetDir%\*.qicon" "%targetDir%\*~$*" "%targetDir%\Thumbs.db"
Trend logfiles:
cmd /c '"C:\Program Files (x86)\Trend Micro\Client Server Security Agent\pccntmon" -n unload_password' cmd /c 'del /q/f/s "C:\Program Files (x86)\Trend Micro\Client Server Security Agent\Temp\*.log"' cmd /c '"C:\Program Files (x86)\Trend Micro\Client Server Security Agent\pccntmon"'
Delete OST files:
$users = Get-ChildItem c:\users
foreach ($user in $users){
$folder = "C:\users\" + $user +"\AppData\Local\Microsoft\Outlook"
$folderpath = test-path -Path $folder
if($folderpath)
{
Get-ChildItem $folder -filter *.ost | remove-item
Get-ChildItem $folder -filter *.nst | remove-item
Write-Output "Deleted OST file for $user"
}else{Write-Output "OST file doesn't exist or meet criteria for $user"}
}
cmd /c "rd /q/s c:\$Recycle.Bin"
Set OneDrive Files On-Demand flag to Free up space:
attrib +u "C:\Users\*" /s
PowerShell:
Get-ChildItem -Path c:\ -Include *.tmp, *.dmp, *.etl, *.evtx, thumbcache*.db, *.log -File -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -ErrorAction SilentlyContinue
$userProfiles = Get-ChildItem -Path "C:\Users" -Directory
foreach ($userProfile in $userProfiles) {
if ($userProfile.Name -eq "Public") {
continue
}
$tempFolder = Join-Path -Path $userProfile.FullName -ChildPath "AppData\Local\Temp"
Get-ChildItem -Path $tempFolder -Recurse -Force | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-1)) -and (-not $_.PSIsContainer)} | Remove-Item -Force -ErrorAction SilentlyContinue
Get-ChildItem -Path $tempFolder -Recurse -Force | Where-Object {$_.PSIsContainer -and @(Get-ChildItem -Path $_.FullName -Force | Where-Object {-not $_.PSIsContainer}).Count -eq 0} | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
}
Get-ChildItem -Path $env:ProgramData\Microsoft\Windows\RetailDemo\* -Recurse -Force -ErrorAction SilentlyContinue | Remove-Item -Recurse -ErrorAction SilentlyContinue Remove-Item -Path $env:windir\Temp\* -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path $env:ProgramData\Microsoft\Windows\WER\Temp\* -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path $env:ProgramData\Microsoft\Windows\WER\ReportArchive\* -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path $env:ProgramData\Microsoft\Windows\WER\ReportQueue\* -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path $env:TEMP\* -Recurse -Force -ErrorAction SilentlyContinue Clear-RecycleBin -Force -ErrorAction SilentlyContinue Clear-BCCache -Force -ErrorAction SilentlyContinue
Delete AppData\Local\Temp for all users with PowerShell
$tempfolders = @(“C:\Windows\Temp\*”, “C:\Windows\Prefetch\*”, “C:\Users\*\Appdata\Local\Temp\*”) Remove-Item $tempfolders -force -recurse
Disable hibernation and delete c:\hiberfil.sys:
powercfg -h off
Delete Windows Temp
rd /q/s c:\Windows\temp & del /q/f/s %TEMP%\*
Find and delete *.OST
del /q/f/s C:\users\*.ost del /q/f/s C:\users\*.nst
Delete Windows Update cache C:\Windows\SoftwareDistribution
net stop "Windows Update" & del /s/f /q C:\Windows\SoftwareDistribution & net start "Windows Update"
Delete Recycle Bin
rd /q/s c:\$Recycle.Bin
Delete AppData\Local\Temp for all users
for /f "delims=|" %f in ('dir /B /A:D-H-R c:\users') do (del "C:\Users\%f\AppData\Local\Temp\*" /s/q && (for /f "delims=|" %i in ('dir /B /A:D-H-R C:\Users\%f\AppData\Local\Temp') do rmdir "C:\Users\%f\AppData\Local\Temp\%i" /s/q ))Limit System Restore to 2GB
vssadmin resize shadowstorage /on=c: /for=c: /maxsize=2GB
Clean Up the WinSxS Folder
c:\windows\system32\dism.exe /online /cleanup-image /spsuperseded
Run Disk Cleanup with the default settings, no user prompts.
cleanmgr /VERYLOWDISK
Run Disk Cleanup and remove files from previous Windows installations.
cleanmgr /AUTOCLEAN