我的自动启动中有一个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
)