User Tools

Site Tools


microsoft_windows:cleantemp
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


Previous revision
Next revision
microsoft_windows:cleantemp [2022/05/07 19:49] rodolico
Line 1: Line 1:
 +====== Clean Temp Files ======
  
 +This is a manual procedure. I did **not** want to have it automatic since there is a good chance of failure.
 +
 +This will show  you how much disk space is used a part of the system, then the second command will allow you to delete it. //You must make sure no one is logged into the server// before running this.
 +
 +<code powershell>
 +# This gets the space used for each item, in gigabytes
 +"System Temp {0:N2} GB" -f ((Get-ChildItem -force -recurse C:\Windows\Temp | measure length -s).sum / 1Gb)
 +"Users Temp {0:N2} GB" -f ((Get-ChildItem -force -recurse C:\Users\*\AppData\Local\Temp | measure length -s).sum / 1Gb)
 +"Chrome JS {0:N2} GB" -f ((Get-ChildItem -force -recurse "C:\Users\*\AppData\Local\\Google\Chrome\User Data\Default\Code Cache\js"| measure length -s).sum / 1Gb)
 +"Chrome Cache {0:N2} GB" -f ((Get-ChildItem -force -recurse "C:\Users\*\AppData\Local\\Google\Chrome\User Data\Default\Cache"| measure length -s).sum / 1Gb)
 +"Mozilla Cache {0:N2} GB" -f ((Get-ChildItem -force -recurse "C:\Users\*\AppData\Local\Mozilla\Firefox\Profiles\*\cache2" | measure length -s).sum / 1Gb)
 +
 +# the following actually does the deletion. However, the -WhatIf says "show me what you'd do", so
 +# you must remove that before it will actually clean up.
 +Get-ChildItem –Path  “C:\Windows\Temp” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-30)} | Remove-Item -WhatIf
 +Get-ChildItem -Path "C:\Users\*\AppData\Local\Temp" -Recurse | Remove-Item -Recurse -WhatIf
 +Get-ChildItem -Path "C:\Users\*\AppData\Local\\Google\Chrome\User Data\Default\Code Cache\js" -Recurse | Remove-Item -Recurse -WhatIf
 +Get-ChildItem -Path "C:\Users\*\AppData\Local\\Google\Chrome\User Data\Default\Cache" -Recurse | Remove-Item -Recurse -WhatIf
 +Get-ChildItem -Path "C:\Users\*\AppData\Local\Mozilla\Firefox\Profiles\*\cache2" -Recurse | Remove-Item -Recurse -WhatIf
 +
 +</code>
 +
 +
 +====== Clean Temp Directory ======
 +
 +Any windows machine will fill up with temporary files, and many applications do not clean up after themselves very well. The following batch file will delete all files older than 30 days in your personal temp folder.
 +
 +<code bat cleantemp.bat>
 +echo off
 +echo "Cleaning out Windows Temp folder"
 +forfiles /p %temp% /s /m *.* /D -30 /C "cmd /c echo @PATH" 2>nul || goto NoFiles
 +choice /m "Ready to delete these files? " /t 10 /d n
 +if ErrorLevel 2 goto No
 +if errorlevel 1 goto Yes
 +goto End
 +
 +:Nofiles
 +echo No files found
 +goto end
 +
 +:No
 +echo Aborted
 +goto End
 +
 +:Yes
 +forfiles /p %temp% /s /m *.* /D -30 /C "cmd /c del @PATH"
 +echo Files Deleted
 +
 +:end
 +</code>
 +
 +===== Windows System Temp Folder =====
 +
 +Windows has no way to easily clean up the c:\windows\temp directory. This keeps filling up and eventually, will take up a significant amount of disk space (25G on a machine that only acts as a QuickBooks server). We had one client who used a computer mainly as a terminal services client who got a warning of less than 100M available, only to find the Windows System Temp folder had 80G of old junk. Microsoft does not have a convenient way to clean this out. It is recommended to remove files over a certain age occasionally.
 +
 +You can remove any files in the Windows Temp folder (c:\windows\temp) older than 30 days with the following PowerShell command:
 +<code>
 +Get-ChildItem –Path  “C:\Windows\Temp” –Recurse | Where-Object{$_.CreationTime –lt (Get-Date).AddDays(-30)} | Remove-Item -WhatIf
 +</code>
 +the -WhatIf at the end of that command says "do a dry run", ie show what would happen, but don't actually do it. Remove that in order to actually clean up the system (remove the files).
 +
 +To run this, find PowerShell and open as Administrator, then type the command in. You could also automate it by having it set up as an At job, but you would need to go in and allow PowerShell scripts to be run on the system, which I did not include here.
 +
 +===== Links =====
 +  * [https://www.howtogeek.com/131881/how-to-delete-files-older-than-x-days-on-windows/]
 +  * http://woshub.com/powershell-get-folder-sizes/
microsoft_windows/cleantemp.txt · Last modified: 2022/11/14 03:15 by rodolico