如何确定这是否是当天的第一次启动

如何确定这是否是当天的第一次启动

我的自动启动中有一个batch文件,它在第一次启动时的行为会有所不同。

我如何通过 Windows 确定它是否是当天的第一次启动cmd?是否有某种方法可以读取当天的 Windows 事件日志并计算启动事件?

答案1

这将在机器启动时调用的假设下工作。

wevtutil用于搜索System事件日志中的最后两个创业活动( EventID=12) 并从中提取日期。如果两个日期相同,则这不是今天的第一次启动。

@echo off
    setlocal enableextensions disabledelayedexpansion
    set "boot1="
    set "boot2="

    for /f "tokens=2 delims=T: " %%a in ('
        wevtutil qe system /count:2 /rd:true /q:"Event[System[(EventID=12)]]" /format:text 
        ^| find "Date:"
    ') do if not defined boot1 ( set "boot1=%%a" ) else ( set "boot2=%%a" )

    if "%boot1%"=="%boot2%" (
        echo This is NOT the first boot on the current day
    ) else (
        echo This IS the first boot on the current day
    )

相关内容