Batch file 如果查询批次中的节数

Batch file 如果查询批次中的节数,batch-file,Batch File,有没有办法对specifig进行If查询 批次中的节数 大概是这样的: IF "Var1"=="1-10" ( do something ) 1-10代表1,2,3,4,5,6,7,8,9,10 我想问10个问题(1-10,11-20,21-30,…,91-100) 这可能吗?您可以这样做: @echo off set Var1=1 for /l %%i in (0,1,10) do if %%i==%Var1% echo 10 or below for /l %%i in (11,1,

有没有办法对specifig进行If查询 批次中的节数

大概是这样的:

IF "Var1"=="1-10" (

 do something

)
1-10代表1,2,3,4,5,6,7,8,9,10

我想问10个问题(1-10,11-20,21-30,…,91-100)

这可能吗?

您可以这样做:

@echo off
set Var1=1
for /l %%i in (0,1,10) do if %%i==%Var1% echo 10 or below
for /l %%i in (11,1,20) do if %%i==%Var1% echo 11 - 20
for /l %%i in (21,1,30) do if %%i==%Var1% echo 21 - 30
for /l %%i in (31,1,40) do if %%i==%Var1% echo 31 - 40
for /l %%i in (41,1,50) do if %%i==%Var1% echo 41 - 50
for /l %%i in (51,1,60) do if %%i==%Var1% echo 51 - 60
for /l %%i in (61,1,70) do if %%i==%Var1% echo 61 - 70
for /l %%i in (71,1,80) do if %%i==%Var1% echo 71 - 80
for /l %%i in (81,1,90) do if %%i==%Var1% echo 81 - 90
for /l %%i in (91,1,100) do if %%i==%Var1% echo 91 - 100
在这里,您可以将
set Var1=1
更改为任何其他数字,它将对应。您可以使用命令替换
echo N-N

另外,如果与您的代码一起使用,
set Var1=1
可以从上述示例中删除,因为我只是将其设置为演示行为。以下是运行/?的
时的帮助摘要
,以便您了解数字行为

FOR /L %variable IN (start,step,end) DO command [command-parameters]

    The set is a sequence of numbers from start to end, by step amount.
    So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
    generate the sequence (5 4 3 2 1) 

如果且仅当
Var1
始终包含一个数值时,您可以这样做:
如果%Var1%geq 1如果%Var1%leq 10(rem do something)
如果我这样做,我会得到第二个“If”的语法错误。可能
Var1
为空;当把
echo/%Var1%
放在double-
if
行之前时,会显示什么?如果我用“Var1”==“1”进行测试,GEQ似乎有问题,但如果我用“Var1”GEQ“1”或甚至相等,它不会计算“(“出于某种原因?你需要读取变量,所以写
%Var1%
istead of
Var1
(在后一种情况下,您只是比较文本字符串
Var1
)。。。