Ich versuche, einen Wecker Batch-Datei zu machen, und dies ist der Alarm Teil der Datei,Batch-Datei zeigt Fehler, wenn ein in-Speicherort der Datei erstellt wird
:a1
cls
goto invalid
:invalid
if %time%==%t2% goto b
if not %time%==%t2% goto invalid
:b
%% t2 Vorerst der Alarm sollte ausgehen und% time% ist die aktuelle Zeit; Wenn ich dieses Skript ausführe, wird jedoch angezeigt, dass '' invalid 'nicht als interner oder externer Befehl, ausführbares Programm oder Batch-Datei erkannt wird. " Ich kann für mein Leben nicht herausfinden, warum es das tut und das Skript nicht unter ": ungültig" ausführt, es springt einfach zu: b.
Ich bin ganz sicher, variable '% t2%' leer ist, so dass die 'if' Aussage wird beeinträchtigt; Verwenden Sie ein Zitat wie 'if% time%" == "% t2%" ', um dies zu vermeiden; Wo und wie setzt du% t2%? Haben Sie vielleicht Leerzeichen in Ihrer 'set' Anweisung wie' set t2 = ... ', obwohl es 'set t2 = ...' oder besser' set 't2 = ... "'? und anstelle von sequentiellem 'if' und' if not' für die gleiche Bedingung könnten Sie 'if"% time% "=="% t2% "(...) else (...)' ... – aschipfl
Was? ist das Format Ihrer '% time%' Variable? Dies kann auch einige Probleme verursachen. – Squashman
Die Variable% t2% wird vorher gesetzt, und das Zeitformat ist HH: MM: SS.MS (15: 15: 15.15 für 3:15 und 15.15 Sekunden) Ich habe dies schon einmal gemacht, und t2 wird mit a gesetzt "set/p t2 =" –