我希望聪明的脑袋可以帮助我,因为我感到很困惑。
这是一个更大的剧本的一部分,但这是让我感到困惑的一个。
for %%B in (01,02,03,04,05,06,07,08,09,10,11,12,13,14) do (
set tjek2=
echo %%B
if %%B LSS 4 set isnow=_POS0%%B DT_pos-db.xml
if %%B GTR 3 set isnow=_POS0%%B FC_pos-db.xml
if %%B GTR 7 set isnow=_POS0%%B FC_pos-db.xml
if %%B GTR 9 set isnow=_POS0%%B FC_pos-db.xml
echo !isnow!
pause
)
一切都很有效,直到我达到Nr 8和Nr 9。 然后代码输出:
_POS008 DT_pos-db.xml
_POS009 DT_pos-db.xml
对于我的生活,我无法理解为什么它不像前面列出的4那样把它写成FC_pos-db。
有谁可以帮我解释一下这个?
注意,
if %%B GTR 7 set isnow=_POS0%%B FC_pos-db.xml
部分是我后来添加的内容,试图强制Nr 8和9为FC而不是DT
提前谢谢
答案 0 :(得分:0)
SomethingDark给出了这个解释。
并不是它小于4,只是批次认为以0开头的数字是八进制,而08不是八进制的有效数字
谢谢:)