2

If I run this command:

powercfg -SETACTIVE 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

...I can subsequently run this command:

powercfg -GETACTIVESCHEME

...and it will tell me what I did. (It will output 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c.)

Similarly, if I run this command:

powercfg -change -monitor-timeout-dc 0

I want to know how I can query that. Is there some powercfg flag where I can read the current value of monitor-timeout-dc, and other settings like that?

soapergem
  • 9,263
  • 18
  • 96
  • 152

1 Answers1

3

This returns the monitor timeout (in seconds) to turn off. Note that i'm skiping 16 lines for DC timeout, if you want AC timeout then skip 15 lines.

@echo off
setlocal enabledelayedexpansion

set SCHEME=8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
set VIDEO_GUID=7516b95f-f776-4464-8c53-06167f40cc99

for /f "skip=16 tokens=1*" %%a in ('powercfg -Q !SCHEME! !VIDEO_GUID!') do (
for /f "tokens=2 delims=:" %%c in ('echo/%%a%%b') do (
set /a "timeout=%%c"&goto break))
:break
echo/%timeout%
pause>nul

You can query any configuration. For a list of schemes use powercfg -list, for a list of guids use powercfg -aliases

Rafael
  • 3,042
  • 3
  • 20
  • 36