Wenn ich die Batch-Datei wie unten veröffentlicht starten, bekam ich diesen Fehler (war zu diesem Zeitpunkt unerwartet.
ich denke, das auf der IF Kommandozeile if %ad%==60 (
aber ich bin nicht sicher.Was ist der Grund für "(war zu dieser Zeit unerwartet." In einer IF-Befehlszeile mit% var%?
geschieht (zu diesem Zeitpunkt unerwartet.
@echo off
color 0f
title TITLE
mode con cols=50 lines=25
set ad = 0
set s = 0
set m = 0
set h = 0
set d = 0
if exist start.txt (
del start.txt
goto :1
) else (
exit
)
:1
if %ad%==60 (
:: Something here
set ad = 0
)
:: MINUTES
if %s%==60 (
set /a m=m+1
set s = 0
)
:: HOURS
if %m%==60 (
set /a h=h+1
set m = 0
)
:: DAYS
if %h%==24 (
set /a d=d+1
set h = 0
)
cls
echo Something here...
timeout 1 > nul
set /a ad=ad+1
set /a s=s+1
goto :1
Was könnte der Grund für diese Fehlermeldung bei der Ausführung der Batch-Datei sein?
Entfernen Sie die Leerzeichen von all Ihren 'set var = Werten. Beispiel 'set ad = 0' =>' set ad = 0'. Else 'ad' ist leer, aber die Variable' ad 'ist auf' 0' gesetzt –
jeb
@Kake Bitte lesen Sie die Antworten zu [Warum wird keine Zeichenkette ausgegeben mit 'echo% var%' nach der Verwendung von 'set var = text' auf der Befehlszeile?] (https://stackoverflow.com/a/26388460/3074564) und [Symbol entspricht NEQ, LSS, GTR usw. in Windows-Stapeldateien] (https://stackoverflow.com/a/47386323/3074564). – Mofi
Mögliches Duplikat von [Warum wird nach der Verwendung von 'set var = text' in der Befehlszeile keine Zeichenfolge mit 'echo% var%' ausgegeben?] (Https://stackoverflow.com/questions/26386697/why-is-no-string -output-with-echo-var-nach-using-set-var-text-on-comman) – aschipfl