BAT文件中的数字范围

时间:2011-09-11 14:41:16

标签: batch-file range token

This topic是为我创建的,我有两个问题: 所以,如果我想要2个未知的令牌,我需要写出来吗?

filename??.txt

2。如果该主题中的“或某一数字范围”未被清除,我的意思是我需要做这样的命令 -

if exist filename[0-9].txt (
bla bla
bla bla
)

[0-9]告诉CMD我需要在“文件名”之后输入一系列数字(我将设置)。 但是?很好,我只想知道我问的是否可能。

谢谢:)

编辑:我遇到了问题 -

for /l %%i in (0,1,99) do if exist at%%i* (
set found=y
set num3=%%i
pause
goto forexit
)
:forexit
bla bla
bla bla

不知何故,循环一次又一次地被执行,超过99次。无限循环(我每次都看到暂停部分)。 什么可以导致它?感谢。

编辑2:问题已解决。请将此主题保持打开状态。

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

FOR /L %%i in (0,1,9) do if exist filename%%i.txt ...

或者,如果我理解您的评论,您希望在文件中至少有一个存在的情况下执行操作,您可以执行以下操作:

SET FOUND=
FOR /L %%i in (0,1,9) do if exist filename%%i.txt SET FOUND=Y
IF "%FOUND%" = "Y" ...

来自评论

  

如何在运行时停止for / l命令(FOR / L %% i in(0,1,9),如果存在文件名%% i.txt(+输入然后+更多命令+))?

如果我正确理解了这个问题,您只想处理第一个匹配的文件。你可以这样做:

FOR /L %%i in (0,1,9) do if exist "filename%%i.dat" (
echo filename%%i.dat
...
goto :MYLABEL
)

:MYLABEL
...