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-Key: 394543

Url: https://administrator.de/contentid/394543

Printed on: April 27, 2024 at 03:04 o'clock

Mitglied: 137846
Solution 137846 Dec 03, 2018 updated at 17:08:38 (UTC)
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%
Member: nikmaier
nikmaier Dec 03, 2018 at 17:37:28 (UTC)
Goto Top
Wahnsinn wie schnell das du das einfach schnell mal eben machst face-smile

Klasse, funktioniert, vielen vielen Dank.