J'ai besoin de savoir combien de temps mon ordinateur portable a été débranché. Existe-t-il un moyen de faire cela en utilisant la cmd ou une sorte d'outil?
Windows ne consomme aucun événement lorsqu'un ordinateur portable est débranché.
Vous pouvez cependant utiliser quelque chose comme le fichier de commandes ci-dessous et créer un événement personnalisé.
Ce fichier de commandes surveille si un ordinateur portable est actuellement sur l'alimentation secteur ou la batterie.
Il crée un événement défini par l'utilisateur si le secteur est débranché et l'ordinateur portable commence à utiliser la batterie.
@echo off
setlocal EnableDelayedExpansion
:start
rem get the battery status, 1 = battery discharging 2 = on mains
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1" %%i in (`wmic path win32_battery get batterystatus ^| findstr /r /v "^$"`) do (
set _status=%%i
if [!_status!] equ [1] (
rem on battery
rem create a custom event in the application event log
rem requires administrator privileges
eventcreate /l APPLICATION /t WARNING /ID 999 /D "Mains has been disconnected"
goto :done
) else (
rem on mains
rem wait for 10 minutes then try again
timeout /t 600 /nobreak > nul
goto :start
)
)
:done
endlocal
Remarques:
Eventcreate
fonctionne sur Windows XP jusqu'à et y compris Windows 10, il nécessite des privilèges d'administrateur pour travailler999
sera généré dans le journal des événements d'application avec la description Mains has been disconnected
eventcreate
si nécessaire pour votre situation.timeout
requis pour votre situation.Exemple de sortie
Lors de l'exécution de la batterie.cmd et de la déconnexion de l'alimentation secteur, la sortie suivante est générée:
> battery
SUCCESS: An event of type 'WARNING' was created in the 'APPLICATION' log with 'EventCreate' as the source.
>
Et voici la nouvelle entrée dans le journal des événements: