PowerShell 清除临时文件


之前在网上流传着一键清理垃圾的CMD批处理脚本,后台由于360安全卫士这种类似的软件集成了这些功能,这个脚本逐渐销声匿迹。今天我们尝试使用PowerShell脚本清除一个月前的临时文件。当然在运行脚本前,请确保这些临时文件你的确已经不会再使用了。

$cutoff = (Get-Date).AddDays(-30)
$before = (Get-ChildItem $env:temp | Measure-Object Length -Sum).Sum

Get-ChildItem $env:temp |                           
  Where-Object { $_.Length -ne $null } |            
  Where-Object { $_.LastWriteTime -lt $cutoff } |   
  Remove-Item -Force -ErrorAction SilentlyContinue -WhatIf  #移除WhatIf 会真正删除文件

$after = (Get-ChildItem $env:temp | Measure-Object Length -Sum).Sum
'释放了 {0:0.00} MB 硬盘空间' -f (($before-$after)/1MB)

因为删除文件属于危险系数较高的操作,所以在删除动作上加了WhatIf,在你确保要删除文件时,记得去掉WhatIf

另外既然是临时文件,难免有的文件正在被其它进程上锁操作,删除时会报错,但是这属于正常的情况,所以加了-ErrorAction SilentlyContinue

原文链接:http://powershell.com/cs/blogs/tips/archive/2012/09/19/clean-your-temp-folder-with-powershell.aspx

本文链接: https://www.pstips.net/powershell-clean-your-folder.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注