nikmaier
Goto Top

Batchjob: Energieoptionen auslesen und eine wenn-dann Funktion einfügen

Hallo,
bezüglich auf dieses Thema: Energieoptionen per PowerShell ändern habe ich eine Frage:

Wahrscheinlich für die meisten eine lächerliche Frage, aber ich beiße mir da jetzt schon seit einiger Zeit die Zähne aus,
habe auch einige Threats mit findstr gelesen, aber ich bekomme das nicht in eine wenn dann Funktion face-sad

Mit diesem Befehl werden die Energieoptionen ausgelesen und wenn es eine Energieoption mit dem Namen "Ultimative Leistung" gibt wird dieses aktiv gesetzt:

for /f "tokens=4" %%a in ('powercfg -l ^| findstr /ilc:"Ultimative Leistung"') do powercfg -setactive %%a  

Funktioniert auch wunderbar, jetzt hätte ich aber gerne folgendes in der Batch:

1. Wenn in den Energieoptionen der String "Ultimative Leistung" NICHT gefunden wird, dann soll das hier ausgeführt werden:

powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
do powercfg -setactive %%a

2. Wenn es aber gefunden wird, dann soll nur das hier ausgeführt werden:

powercfg -setactive %%a

Vielleicht kann mir da jemand auf die Sprünge helfen face-smile

Schonmal vielen Dank im Voraus.

Content-ID: 394543

Url: https://administrator.de/forum/batchjob-energieoptionen-auslesen-und-eine-wenn-dann-funktion-einfuegen-394543.html

Ausgedruckt am: 22.12.2024 um 07:12 Uhr

137846
Lösung 137846 03.12.2018 aktualisiert um 18:08:38 Uhr
Goto Top
@echo off &setlocal ENABLEDELAYEDEXPANSION
set "profilename=Ultimative Leistung"  
set "GUID="  
for /f "tokens=4" %%a in ('powercfg -l ^| findstr /ilc:"%profilename%" 2^>nul') do set GUID=%%a  
if not defined GUID (
	for /f "tokens=4" %%a in ('powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61') do set GUID=%%a  
	powercfg -changename !GUID! "%profilename%"  
)
powercfg -setactive %GUID%
nikmaier
nikmaier 03.12.2018 um 18:37:28 Uhr
Goto Top
Wahnsinn wie schnell das du das einfach schnell mal eben machst face-smile

Klasse, funktioniert, vielen vielen Dank.