Mein Code ist unter. Es sollte ein einfacher Code sein, um nach der Uhrzeit zu suchen, und es mit zwei verschiedenen Zeiten vergleichen, in denen ich den Computer des Kindes für die Nacht ausschalten möchte. Ich habe ein extrem grundlegendes Verständnis von Kodierung, da ich mit Kodierung, die sehr extrem war, nichts wirklich gemacht habe. Ich dachte, ich würde das ausprobieren, aber ich bin mir nicht ganz sicher, was ich im Code falsch gemacht habe, ich bin in der Lage, die verschiedenen Schritte zu durchlaufen, bis ich die if-Anweisung erreiche: if %yesno% EQU y (
.... und alles andere danach, heißt es, aus irgendeinem Grund, dass die if-Anweisung zu diesem Zeitpunkt nicht erwartet wurde und dann das Fenster sofort schließt. Ich war in der Lage, einen sehr schnellen Bildschirm abzuschießen. Ich habe meinen gesamten Code auf mehrere Google-Suchen auf verschiedenen Teilen des Codes basiert. Wenn jemand helfen kann, wäre das sehr nützlich.Ich schreibe ein kleines Programm, um einen Computer zu einer bestimmten Zeit herunterzufahren. Etwas falsch, obwohl
(Screenshot Referenz) https://i.gyazo.com/1449d3d48279b64411d982d27ec0940a.png
@echo off
:questions
cls
set /p start=[Shutdown time (The hour of shutdown, do not add minutes):]
set /p 1ampm=[am/pm:]
cls
set /p end=[Enter the time you want the computer to be available again for use(The hour of shutdown, do not add minutes):]
set /p 2ampm=[am/pm:]
cls
echo Loading....
PING 1.1.1.1 -n 1 -w 2000 >NUL
cls
set /p yesno=[The time you selected the computer to remain off is from %start% - %end% , is this correct, y/n?]
cls
goto :yn
:yn
if %yesno% EQU y (
goto :1timecorrect
) if %yesno% EQU n (
goto :questions
) else (
goto :questions
)
:1timecorrect
if %1ampm% EQU am (
goto :2timecorrect
) if %1ampm% EQU pm (
set realstart=%start%+12
goto :2timecorrect
) else (
cls
echo you did not enter whether or not the start time is am or pm
goto :questions
)
:2timecorrect
if %2ampm% EQU am (
goto :Begining
) if %2ampm% EQU pm (
set realend=%end%+12
goto :Begining
) else (
cls
echo you did not enter whether or not the start time is am or pm
goto :questions
)
:Begining
set mytime=%time:~0,2%
:Start
if %mytime% GEQ %realstart% (
cls
echo time has expired, time to go to bed.
shutdown -s -f -t 60 -c "Your computer is about to be shut down in 1 minute"
) else (
if %mytime% LEQ %realend% (
echo time has expired, time to go to bed.
shutdown -s -f -t 60 -c "Your computer is about to be shut down in 1 minute"
) else (
cls
echo This program is Opperating correctly
PING 1.1.1.1 -n 1 -w 600000 >NUL
goto :Start
)
)
Wenn Sie das nächste Mal einen Fehler betrachten möchten, können Sie 'pause' verwenden. Dadurch wird das Programm angehalten und auf Ihre Eingabe gewartet. Sie können 'Logit' auch verwenden, um die Ergebnisse Ihres Programms in eine Datei zu schreiben, in der Sie die Ergebnisse der Ausführung speichern können. Dies kann nützlich sein, wenn Ihr Kind Computerkenntnisse besitzt und herausfinden kann, wie es das Funktionieren des Skripts verhindert. – Knells