可安全清空除安全日志外的所有启用日志;需以管理员身份运行powershell或批处理,使用wevtutil cl命令逐个清除system、setup等通道,脚本自动记录操作日志。

你需要在Win10上彻底清空所有应用程序日志和系统日志,避免手动逐个打开事件查看器、筛选日志、右键清除的繁琐操作,同时确保不误删关键服务配置或触发系统异常。
确认日志清理权限与风险边界
事件查看器中的日志分为“应用程序”“安全”“系统”“Setup”“转发事件”等通道,其中【安全日志不可直接清空,需先禁用审核策略或以管理员身份运行脚本】;其余日志通道可安全清除。若当前账户非管理员,后续所有命令将因权限不足而静默失败——请务必右键以管理员身份运行CMD或批处理文件。
这一步不做检查,后续脚本执行时会报错“拒绝访问”,但不会损坏系统。
用PowerShell命令一键清空全部可写日志
PowerShell比传统cmd更精准控制事件日志,且自带Clear-EventLog cmdlet,无需依赖外部工具。
方法一:单行命令快速执行(推荐测试用)
按下Win+X,选择“Windows PowerShell(管理员)”,粘贴并回车:
Get-WinEvent -ListLog * | Where-Object {$_.IsEnabled -and $_.LogName -notmatch 'Security|Application$'} | ForEach-Object {wevtutil cl $_.LogName} 2>$null
该命令跳过Security日志(防止审计中断),也跳过Application日志末尾的$符号干扰(如Application、Application%46等变体),只清空已启用且名称合规的日志通道。wevtutil是Windows原生命令,无需安装额外组件。
方法二:保留Application日志但清空其余(稳妥型)
在管理员PowerShell中逐行执行:
wevtutil cl System
wevtutil cl Setup
wevtutil cl Microsoft-Windows-Diagnostics-Performance/Operational
wevtutil cl Microsoft-Windows-AppModel-Runtime/Operational
每条wevtutil cl [日志名]对应一个独立通道,执行后立即清空且无确认提示。若某通道不存在(如某些精简版系统缺少Diagnostics日志),命令自动忽略,不报错。
创建可重复使用的批处理脚本
把清理动作固化为双击即用的.bat文件,支持记录操作时间戳,便于事后核查。
第一步:桌面新建文本文档,重命名为CleanLogs.bat,右键→编辑
第二步:粘贴以下内容(注意保存编码为ANSI或UTF-8无BOM,否则wevtutil可能乱码):
@echo off
chcp 65001 >nul
title 日志清理器 v1.0
echo [%date% %time%] 开始清理非安全类日志...
echo [%date% %time%] 开始清理非安全类日志... >> %windir%\Logs\CleanLogs.log
wevtutil cl System >> %windir%\Logs\CleanLogs.log 2>&1
wevtutil cl Setup >> %windir%\Logs\CleanLogs.log 2>&1
wevtutil cl Microsoft-Windows-DeviceSetupManager/Operational >> %windir%\Logs\CleanLogs.log 2>&1
echo [%date% %time%] 清理完成。>> %windir%\Logs\CleanLogs.log
pause
第三步:保存后,【必须右键该.bat文件→以管理员身份运行】,否则所有wevtutil命令均失败且无提示。
第四步:脚本运行结束后,日志已清空,%windir%\Logs\CleanLogs.log中留有完整执行记录,包括成功与失败项。











