You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本通配符遍历用户Temp文件夹实现定期清理

批量清理多用户Temp文件夹的PowerShell脚本

修改后的核心脚本

# 设置过期时间:清理15天前创建的文件
$CutOffDate = (Get-Date).AddDays(-15)

# 遍历所有用户的Temp文件夹(通配符适配任意用户名)
$userTempFolders = Get-ChildItem -Path "Z:\Profiles\Users\*\AppData\Local\Temp" -Directory -ErrorAction SilentlyContinue

foreach ($folder in $userTempFolders) {
    # 清理当前Temp文件夹内的过期文件(含子文件夹)
    Get-ChildItem -Path $folder.FullName -File -Recurse -ErrorAction SilentlyContinue | 
        Where-Object { $_.CreationTime -lt $CutOffDate } | 
        Remove-Item -Force -ErrorAction SilentlyContinue
    
    # 可选:输出处理日志
    Write-Host "已完成清理:$($folder.FullName)"
}

关键特性说明

  • 通配符适配:用Z:\Profiles\Users\*\AppData\Local\Temp自动匹配所有用户的Temp目录,无需手动指定用户名
  • 容错处理:-ErrorAction SilentlyContinue跳过不存在的文件夹或无权限访问的目录,避免脚本中断
  • 精准清理:-File参数确保只删除文件,不会误删子文件夹;-Recurse遍历所有层级的临时文件
  • 强制删除:-Force参数处理带只读属性的临时文件,提升清理覆盖率

组策略部署适配(百用户场景)

  • 脚本部署方式:将脚本保存为CleanupUserTemp.ps1,通过组策略的计算机配置 > 脚本 > 启动或用户配置 > 脚本 > 登录执行:
    • 选计算机启动:需确保系统账号对所有用户Temp文件夹有读/删权限
    • 选用户登录:仅清理当前登录用户的Temp文件夹,权限问题更少
  • 权限配置:提前给执行脚本的账号(如域管理员、系统账号)分配Z:\Profiles\Users目录的遍历及子文件夹删除权限
  • 测试建议:先在单用户环境验证脚本效果,确认无误后再批量部署到生产环境
  • 日志扩展(可选):添加日志记录便于排查问题,示例代码:
$logFile = "D:\TempCleanupLogs\$(Get-Date -Format 'yyyyMMdd').log"
Add-Content -Path $logFile -Value "[$(Get-Date -Format 'HH:mm:ss')] 已清理文件夹:$($folder.FullName)"

内容的提问来源于stack exchange,提问作者qwertyyuiop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:13:13