可通过命令提示符、事件查看器、powershell、turnedontimesview工具及任务管理器五种方法查询windows系统运行时长:命令提示符用systeminfo和net statistics获取当前会话启动时间与持续时长;事件查看器筛选id 6005/6006/6008/1074事件分析开机、关机及断电历史;powershell脚本自动配对事件计算累计 uptime;turnedontimesview图形化展示并汇总总运行时间;任务管理器性能页实时显示内核级启动时间。

如果您需要了解 Windows 系统自上次开机以来持续运行了多长时间,或希望推算出系统是否曾经历意外断电、未正常关机等非计划性停机,则需结合事件日志与实时运行状态进行交叉验证。以下是多种可独立使用的查询方法:
一、使用命令提示符获取当前会话运行时长
该方式直接读取系统内核维护的启动计时器,返回的是本次开机后连续运行的秒数与格式化时间,不依赖日志完整性,结果即时可靠。
1、按 Win + R 打开“运行”对话框,输入 cmd 并回车,启动命令提示符。
2、在命令行中输入以下命令并回车:systeminfo | find "系统启动时间"。
3、在输出结果中定位“系统启动时间”字段,其右侧显示的日期与时间即为本次开机时刻。
4、另起一行输入:net statistics workstation | find "自",该命令将返回工作站服务已运行的天数、小时数与分钟数,反映当前会话连续运行时长。
二、通过事件查看器提取全部开机与关机事件
事件查看器记录了每一次系统启动(ID 6005)、正常关机(ID 6006)、意外断电(ID 6008)及计划重启(ID 1074),通过时间戳差值可逐段计算各次运行周期,最终累加得出总运行时间。
1、按 Win + R,输入 eventvwr.msc 并回车,打开事件查看器。
2、在左侧导航树中,依次展开 Windows 日志 → 系统。
3、在右侧操作面板点击 筛选当前日志。
4、在“事件ID”栏中输入:6005,6006,6008,1074(英文逗号分隔),点击确定。
5、在结果列表中,按 TimeCreated 列升序排列,逐条检查事件顺序:6005 后紧接 6006 表示一次完整运行;若 6005 后出现 6008,则表明该次运行以断电结束,后续无对应关机记录。
三、利用 PowerShell 计算累计开机时长
PowerShell 可对筛选后的事件进行结构化处理,自动配对相邻的 6005(开机)与后续最近的 6006/6008(关机/断电),并计算每段运行时间差,最终求和得到总运行秒数。
1、以管理员身份启动 Windows Terminal(PowerShell)。
在 Windows 11 上"直接发声"的 TTS(从 WSL2/TUI 调用 powershell.exe + System.Speech)。适用于用户说"说出来/读出来/语音播报/用TTS",或反馈"没声音/tts 生成的 mp3 是空的/播不出来",以及需要中文语音但 OpenClaw 内置 tts 不可用时。
2、粘贴并执行以下命令:Get-WinEvent -LogName System -FilterXPath "*[System[(EventID=6005 or EventID=6006 or EventID=6008)]]" | Select-Object TimeCreated, Id | Sort-Object TimeCreated | ForEach-Object {$_.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss") + " | ID:" + $_.Id}。
3、观察输出序列,识别所有 6005 起始点,并查找其后首个非 6005 的事件ID及时间,两者之差即为该段运行时长。
4、对所有有效配对执行时间差计算(单位:秒),使用 (Get-Date "2026-04-08 12:00:00") - (Get-Date "2026-04-07 09:30:00") | Select-Object TotalSeconds 类似语法完成单次计算。
四、借助 NirSoft TurnedOnTimesView 工具自动汇总
该工具直接解析二进制事件日志文件,跳过手动筛选与时间计算步骤,以图形化时间轴形式展示每次开机起止时间,并在界面底部实时显示“Total uptime”累计值,支持导出 CSV 进行离线累加。
1、访问 NirSoft 官网下载 TurnedOnTimesView(免安装绿色版)。
2、解压后以管理员身份运行 TurnedOnTimesView.exe。
3、软件自动加载本地系统日志,主窗口列出全部开机/关机事件,Uptime 列显示单次运行时长(hh:mm:ss 格式)。
4、滚动至窗口底部,查看 "Total uptime: X days, Y hours, Z minutes" 汇总信息。
五、检查任务管理器性能选项卡中的实时启动时间
任务管理器从系统服务实时拉取内核级启动时间戳,不依赖日志文件,适用于快速确认当前会话是否为连续运行,但无法提供历史累计数据。
1、按 Ctrl + Shift + Esc 直接打开任务管理器。
2、切换到 性能 选项卡。
3、在左侧面板点击 CPU,右侧信息区中查找 “系统启动时间” 字样及其右侧显示的具体时间点。
4、若该时间与您记忆中最后一次开机时间一致,且无近期蓝屏或断电记录,则当前运行时长可由该时间点推算得出。










