Como descobrir se é a primeira inicialização no dia atual

1

Eu tenho um arquivo batch na minha inicialização automática, que deve se comportar um pouco diferente na primeira inicialização.

Como posso saber se é a primeira inicialização do dia atual pelo Windows cmd ? Pode ser que haja alguma maneira de ler o log de eventos do Windows do dia atual e contar os eventos de inicialização?

    
por das Keks 28.06.2015 / 13:46

1 resposta

0

Isso funcionará sob a suposição de que é chamado quando a máquina é inicializada.

wevtutil é usado para pesquisar o log de eventos System dos últimos dois eventos de inicialização ( EventID=12 ) e, a partir deles, a data é extraída. Se as duas datas forem as mesmas, então esta não é a primeira startup hoje.

@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
    )
    
por 01.07.2015 / 14:17