Batch Meine Batchdatei überspringt die gewollte Passworteingabe und schließt sich!

BleenPaper

Newbie
Registriert
Apr. 2017
Beiträge
1
Hallo Zusammen!

Ich habe mir heute morgen eine eigene kleine Batchdatei für meine Freunde entwickelt, wo zuerst eine Zeit lang eine schöne grüne Matrix gezeigt wird. Anschießend soll der PC nach 2 Minuten heruntergefahren werden. Das soll nicht ohne Abbruchmöglichkeit passieren, deshalb hat man die Möglichkeit ein Passwort (hui32) einzugeben, dass dann das Herunterfahren abbricht. Wenn ein Falsches Passwort eingegeben wurde, hat man nur noch 10 Sekunden Zeit und einen Versuch. Wenn man das verplempert, fährt der PC direkt herunter. :evillol:

Mein Problem ist, dass nach der Matrix (die ich für euch ein wenig verkürzt habe) der Text kommt. Nach der pause kann ich aber kein Passwort eingeben, weil sich das cmd schließt :freak:

Hier ist einmal mein Code:
Code:
@echo off
mode 2920
title Matrix
color a

set /a Counter=
:COUNTER
echo %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random% %random%
set /a Counter=%Counter%+1
if %Counter%==100 goto START
goto COUNTER

:START
shutdown /r /t 120
echo ----------------------------------------------------------------
echo Der Computer wird in 2 Minuten heruntergefahren
echo ----------------------------------------------------------------
echo Gebe das richtige Passwort ein, damit der Vorgang aufgehalten
echo wird. Sonst fährt der Computer in 10 Sekunden herunter.
echo.
pause
set /a %Passwort%=Kennwort bitte:
pause
IF %Passwort%==hui32 (goto STOPSHUTDOWN) ELSE (goto SPEEDSHUTDOWN)


:STOPSHUTDOWN
shutdown /a
echo ----------------------------------------------------------------
echo Herunterfahren erfolgreich gestoppt! Sie können weiterarbeiten.
echo ----------------------------------------------------------------
pause>NUL
exit

:SPEEDSHUTDOWN
shutdown /r /t 10
echo ----------------------------------------------------------------
echo Falsch! Der Computer wird in 10 Sekunden heruntergefahren.
echo ----------------------------------------------------------------
echo.
echo Letzte Chance: Passwort eingeben.
set /a %Passwort%=
IF %Passwort%==hui32 (goto STOPSHUTDOWN) ELSE (goto SHUTDOWN)

:SHUTDOWN
shutdown /r /t 1
echo ----------------------------------------------------------------
echo Falsches Passwort! Der Computer wird heruntergefahren.
echo ----------------------------------------------------------------
pause>NUL
exit

Falls jemand auf die Idee kommen sollte, den Code in eine Batchdatei zu verwandeln, würde ich empfehlen, schon das cmd aufzurufen, "shutdown /a" einzugeben, um das Herunterfahren manuell und schnell stoppen zu können.

Ich hoffe auf gute Lösungen,:D:cool_alt:

Vielen Dank
BleenPaper

PS: Windows 10, falls das jemand braucht ^^
 
Zuletzt bearbeitet: (Falsch übertragen/Fehlendes Detail)
nicht "Set /A" sondern "Set /P" für die Eingabe verwenden. Set /A ist die arithmetische Expression.

BTW. ein zweiter Fehler bei der Set-Anweisung, dass die Prozentzeichen nicht dort hingehören. Also statt
%Variable% einfach nur Variable oder die Prozentzeichen mit angeben bei IF.
 
Zuletzt bearbeitet:
Je nach OS kann man den Choice Befehl verwenden. Wobei eine CMD als Passworteingabe nichtmal bei Neulandbesuchern 100% effektiv ist.

P.S. Zum testen würde ich kritische Zeilen (z.B. 'shutdown /r /t 10') mit einem 'Echo ShutdownJetzt&Pause' ersetzen.
 
Zurück
Oben