Windows 10下删除AppData中过期日志的脚本编写求助
批量删除AppData下随机路径中Logs文件夹内的10天以上旧日志
方法1:使用PowerShell脚本(Windows自带,推荐)
- 打开记事本,复制粘贴以下内容:
# 遍历所有用户的AppData\Local\Apps\2.0目录下的Logs文件夹 Get-ChildItem -Path "C:\Users\*\AppData\Local\Apps\2.0" -Filter "Logs" -Recurse -Directory | ForEach-Object { # 在每个Logs文件夹中,查找最后修改时间超过10天的文件 Get-ChildItem -Path $_.FullName -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-10) } | ForEach-Object { # 先预览要删除的文件(去掉-WhatIf才能真正删除) Remove-Item -Path $_.FullName -WhatIf } }
- 点击记事本左上角「文件」→「另存为」,保存类型选「所有文件」,文件名设为
CleanOldLogs.ps1,保存到桌面。 - 测试阶段:右键点击桌面的
CleanOldLogs.ps1,选择「用PowerShell运行」,窗口会列出所有将要被删除的文件,确认没有误删内容。 - 正式删除:打开脚本文件,把
Remove-Item后面的-WhatIf删掉,保存后再次运行脚本即可。
方法2:使用批处理脚本(双击即可运行)
- 打开记事本,复制粘贴以下内容:
@echo off setlocal enabledelayedexpansion :: 遍历所有用户的AppData\Local\Apps\2.0目录 for /r "C:\Users\*\AppData\Local\Apps\2.0" %%d in (Logs) do ( if exist "%%d" ( :: 在Logs文件夹中删除超过10天的文件 forfiles /p "%%d" /s /m *.* /d -10 /c "cmd /c del @path" ) ) echo 旧日志清理完成 pause
- 点击「文件」→「另存为」,保存类型选「所有文件」,文件名设为
CleanOldLogs.bat,保存到桌面。 - 双击运行这个批处理文件,它会自动查找并删除符合条件的旧日志,完成后按任意键关闭窗口。
注意事项
- 若只需清理当前登录用户的日志,把脚本里的
C:\Users\*改成%USERPROFILE%即可(比如%USERPROFILE%\AppData\Local\Apps\2.0)。 - 运行脚本时可能需要管理员权限:右键点击脚本,选择「以管理员身份运行」,避免因权限不足无法删除文件。
- 建议先通过PowerShell的
-WhatIf参数预览删除列表,确认无误后再执行实际删除操作。
内容的提问来源于stack exchange,提问作者zul
相关产品推荐
相关产品推荐

