Batch-Datei mit sichtbarem Stunden und Minuten Timer der per Tastendruck abgebrochen werden kann (zwei Routinen in einer Batch)?

ich brauche eine Batch.

Beim starten wird gefragt, in wievielen Stunden der PC in den Energiesparmodus wechseln soll.

Die VERBLEIBENDE Zeit sollte IMMER sichtbar sein und die STUNDEN /MINUTEN runterzählen.

Wenn der Timer abgelaufen ist, sollte der PC in den Energiesparmodus gehen.

Desweiteren will ich den Countdown jederzeit wieder abbrechen können um das Programm zu verlassen,

OHNE den PC in den Energiesparmodus zu versetzen..

Am besten wäre es, wenn ich beim Abbechen des Timers nur eine Taste,

zum Beispiel (X) drücken müsste, ohne enter...(Darf gerne, muss aber nicht sein).

Ich habe schon per KI versucht dies alles hinzubekommen, aber leider bleibt der Timer hängen bei der Abbrechen-Abfrage.

@echo off

mode con cols=77 lines=6

chcp 65001>nul

title Countdown zum Energiesparmodus

:start

cls

echo In wie vielen Stunden soll der PC in den Energiesparmodus wechseln?

set /p stunden=

set /a minuten=%stunden%*60

rem Energiesparoptionen auf Höchstleistung setzen

powercfg.exe /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

:countdown

cls

echo Der PC wechselt in %stunden% Stunden und %minuten% Minuten in den Energiesparmodus.

set /a minuten=%minuten%-1

if %minuten% LSS 0 (

   set /a stunden=%stunden%-1

   set /a minuten=59

)

echo.

echo Drücken Sie 'x', um den Countdown abzubrechen.

set /p eingabe=

if "%eingabe%"=="x" goto :ende

if %stunden% EQU 0 && %minuten% EQU 0 (

echo Der Countdown ist abgelaufen. Der PC wechselt in den Energiesparmodus.

rem Energiesparoptionen auf Ausbalanciert setzen

powercfg.exe /setactive 381b4222-f694-41f0-9685-ff5bb260df2e

rundll32.exe powrprof.dll,SetSuspendState Sleep

goto :ende

)

timeout /t 60 >nul

goto countdown

:ende

echo Countdown abgebrochen.

rem Energiesparoptionen auf Ausbalanciert setzen

powercfg.exe /setactive 381b4222-f694-41f0-9685-ff5bb260df2e
bat, Batch, cmd, Batch-Datei

Meistgelesene Beiträge zum Thema Cmd