Saya perlu membuat tugas di Penjadwal Tugas berdasarkan perubahan level baterai
Windows tidak mencatat detail seperti ini sebagai peristiwa. Namun Anda dapat menggunakan sesuatu seperti file batch di bawah ini dan membuat acara khusus.
Battery.cmd
File batch ini memantau muatan persentase baterai saat ini dan membuat acara yang ditentukan pengguna jika muatannya turun di bawah nilai ambang batas yang ditentukan pengguna.
@echo off
setlocal EnableDelayedExpansion
rem set threshold value
set _threshold=82
:start
rem get the battery charge
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1" %%i in (`wmic Path Win32_Battery Get EstimatedChargeRemaining ^| findstr /r /v "^$"`) do (
set _charge=%%i
echo !_charge!
if !_charge! lss !_threshold! (
echo threshold reached
rem create a custom event in the application event log
rem requires administrator privileges
eventcreate /l APPLICATION /t WARNING /ID 999 /D "Battery charge has dropped"
goto :done
) else (
rem wait for 10 minutes then try again
timeout /t 600 /nobreak
goto :start
)
)
:done
endlocal
Catatan:
- The
Eventcreate
perintah bekerja pada Windows XP sampai dengan Windows 10, itu memerlukan hak administrator untuk pekerjaan
- Tetapkan
_threshold
sesuai kebutuhan
- Jika baterai jatuh di bawah nilai ini, suatu peristiwa dengan ID
999
akan dihasilkan dalam log peristiwa APLIKASI dengan deskripsiBattery charge has dropped
- Ubah
eventcreate
perintah sesuai kebutuhan untuk situasi Anda.
- Ubah
timeout
penundaan sesuai kebutuhan untuk situasi Anda.
Contoh output:
Baterai saya saat ini memiliki muatan 81%. Saya mengatur ambang ke 82
. Inilah yang terjadi ketika saya berlari Battery.cmd
:
> battery
81
threshold reached
SUCCESS: An event of type 'WARNING' was created in the 'APPLICATION' log with 'EventCreate' as the source.
Dan di sini adalah entri baru di Log Peristiwa:
buat sintaksis
EVENTCREATE [/S system [/U username [/P [password]]]] /ID eventid
[/L logname] [/SO srcname] /T type /D description
Description:
This command line tool enables an administrator to create
a custom event ID and message in a specified event log.
Parameter List:
/S system Specifies the remote system to connect to.
/U [domain\]user Specifies the user context under which
the command should execute.
/P [password] Specifies the password for the given
user context. Prompts for input if omitted.
/L logname Specifies the event log to create
an event in.
/T type Specifies the type of event to create.
Valid types: SUCCESS, ERROR, WARNING, INFORMATION.
/SO source Specifies the source to use for the
event (if not specified, source will default
to 'eventcreate'). A valid source can be any
string and should represent the application
or component that is generating the event.
/ID id Specifies the event ID for the event. A
valid custom message ID is in the range
of 1 - 1000.
/D description Specifies the description text for the new event.
/? Displays this help message.
Examples:
EVENTCREATE /T ERROR /ID 1000
/L APPLICATION /D "My custom error event for the application log"
EVENTCREATE /T ERROR /ID 999 /L APPLICATION
/SO WinWord /D "Winword event 999 happened due to low diskspace"
EVENTCREATE /S system /T ERROR /ID 100
/L APPLICATION /D "Custom job failed to install"
EVENTCREATE /S system /U user /P password /ID 1 /T ERROR
/L APPLICATION /D "User access failed due to invalid user credentials"
Bacaan lebih lanjut
- Indeks AZ dari baris perintah CMD Windows - Referensi yang sangat baik untuk semua hal yang terkait dengan Windows CMD.
- eventcreate - Buat Acara Kustom di Windows Event Viewer.
- schtasks - Membuat / mengedit Pekerjaan / Tugas Terjadwal. Pekerjaan dapat dibuat di komputer lokal atau jarak jauh.
- wmic - Perintah Instrumentasi Manajemen Windows.