9 4

Extreme disk space cleanup

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