如何通过PowerShell按时间规则删除创建超过1小时的文件
PowerShell 删除创建时间超过1小时的文件实现方案
PowerShell 的时间计算本身就支持小时、分钟甚至秒级的维度,不需要局限于按天筛选,具体操作步骤如下:
步骤1:计算时间阈值
首先生成1小时前的时间节点作为筛选标准:
# 得到当前时间往前推1小时的时间点 $thresholdTime = (Get-Date).AddHours(-1)
如果需要调整时间维度,直接替换对应的方法即可:
- 按分钟筛选用
AddMinutes(-n) - 按秒筛选用
AddSeconds(-n) - 要按最后修改时间筛选的话,后续把
CreationTime替换为LastWriteTime即可
步骤2:先预览筛选结果(必做,避免误删)
先执行筛选命令确认要删除的文件符合预期,不要直接执行删除:
# 替换为你需要扫描的目标文件夹路径 Get-ChildItem -Path "C:\你的目标文件夹路径" -File -Recurse | Where-Object { $_.CreationTime -lt $thresholdTime }
参数说明:
-File:仅筛选文件,自动排除文件夹-Recurse:递归扫描所有子文件夹,不需要子目录扫描可以删除该参数- 输出结果会展示所有创建时间超过1小时的文件,确认路径、数量都没问题再执行后续删除操作
步骤3:执行删除操作
确认筛选结果无误后,在命令末尾追加删除指令即可:
Get-ChildItem -Path "C:\你的目标文件夹路径" -File -Recurse | Where-Object { $_.CreationTime -lt $thresholdTime } | Remove-Item -Force
-Force:强制删除只读、隐藏属性的特殊文件,不需要可以删除该参数- 如果需要留存删除日志,可以在
Remove-Item后追加-Verbose参数,会输出每一个被删除的文件信息
注意事项
- 文件夹路径如果包含空格,必须用英文双引号包裹路径
- 涉及批量删除的操作,一定要先执行筛选预览,确认结果符合预期再执行删除
内容的提问来源于stack exchange,提问作者Ricardo Ariati
相关产品推荐
相关产品推荐

