Batch file 为什么';这不是我的工作

Batch file 为什么';这不是我的工作,batch-file,Batch File,我的IF查询有这个问题 IF "!ProzentS_[%Temp_Counter2%]!"LSS"%MIN_THRESHOLD%" ( set WARTUNG_[%Temp_Counter2%]=true ECHO XXXXXXXXXX %DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%_%Time% TEST !WARTUNG_[%Temp_Counter2%]! !BAT_[%Temp_Counter2%]! >> %PATH_LOGDATE

我的IF查询有这个问题

IF "!ProzentS_[%Temp_Counter2%]!"LSS"%MIN_THRESHOLD%" (
    set WARTUNG_[%Temp_Counter2%]=true
    ECHO XXXXXXXXXX %DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%_%Time% TEST !WARTUNG_[%Temp_Counter2%]! !BAT_[%Temp_Counter2%]!  >> %PATH_LOGDATEI%\%LOGFILE_NAME%
    )
不知怎的,它的括号有问题

(“此时无法按语法处理

如果我使用“LSS”、“EQU”或“GTR”,则不计算它们,但如果我将“==”放在那里,则会起作用

IF "!ProzentS_[%Temp_Counter2%]!"=="%MIN_THRESHOLD%" (
)
谁能告诉我为什么会发生这种情况。

您需要更多的空间:

IF "!ProzentS_[%Temp_Counter2%]!" LSS "%MIN_THRESHOLD%" (
    set WARTUNG_[%Temp_Counter2%]=true
    ECHO XXXXXXXXXX %DATE:~-4%%DATE:~-7,2%%DATE:~-10,2%_%Time% TEST !WARTUNG_[%Temp_Counter2%]! !BAT_[%Temp_Counter2%]!  >> %PATH_LOGDATEI%\%LOGFILE_NAME%
    )

LSS
周围放置空格。没有空格,解析器无法区分字符串和比较器。您可能还希望使用
%Time:=0%
而不是仅使用
%Time%
将空格替换为零(在'9:47`)