Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file BAT文件中的数字范围_Batch File_Range_Token - Fatal编程技术网

Batch file BAT文件中的数字范围

Batch file BAT文件中的数字范围,batch-file,range,token,Batch File,Range,Token,是为我创建的,我有两个问题: 1.所以如果我想要2个未知的标记,我需要写它 filename??.txt 二,。如果该主题中的“或某个数字范围”没有清除,我的意思是我需要执行这样的命令- if exist filename[0-9].txt ( bla bla bla bla ) [0-9]将告诉CMD在“filename”之后需要一个数字范围(我将设置)。 但是那是什么呢?很好,我只是想知道我问的是否可行 谢谢:) 编辑:我对此有意见- for /l %%i in (0,1,99) do

是为我创建的,我有两个问题: 1.所以如果我想要2个未知的标记,我需要写它

filename??.txt
二,。如果该主题中的“或某个数字范围”没有清除,我的意思是我需要执行这样的命令-

if exist filename[0-9].txt (
bla bla
bla bla
)
[0-9]将告诉CMD在“filename”之后需要一个数字范围(我将设置)。 但是那是什么呢?很好,我只是想知道我问的是否可行

谢谢:)

编辑:我对此有意见-

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:问题已解决。请打开此主题。

您可以执行以下操作:

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

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

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)do if exist filename%%I.txt(+enter then+more commands+)时停止该命令

如果我理解正确,您只想处理第一个匹配的文件。您可以执行以下操作:

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

:MYLABEL
...

您可以执行以下操作:

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

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

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)do if exist filename%%I.txt(+enter then+more commands+)时停止该命令

如果我理解正确,您只想处理第一个匹配的文件。您可以执行以下操作:

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

:MYLABEL
...

#1:是的#2:我认为在上一个问题中,我对这个问题非常清楚,所以我投票决定将其作为一个副本来结束。#1:是的#2:我认为在上一个问题中,我对这个问题的理解非常清楚,所以我投票决定以重复的方式结束这个问题。@Juhana谢谢。@乔,我想在一个扩展的,如果是这样的话,我不希望它重复自己。无论如何,谢谢你,这可能有用:)这不是我的意思,但是。。美好的太好了。我想我会用它的。我还有一个选择,但我觉得比我的好。还有一个问题-如何将%%I保存到变量中?只是在扩展的IF中“set num=%%i”还是其他什么?再次感谢。@ETL问题是你想用%%i?@Mechaflash做什么?我想把它保存到IF语句中(在Joe的第二句话中),所以我想用这个文件做点什么。
set num=%%i
可以吗?该死。我在(0,1,9)do if exist filename%%I.txt…中对/L%%I尝试了命令
,但它给了我一个错误
%%,此时我遇到了意外情况
。是什么原因造成的@Juhana谢谢@乔,我想在一个扩展的,如果是这样的话,我不希望它重复自己。无论如何,谢谢你,这可能有用:)这不是我的意思,但是。。美好的太好了。我想我会用它的。我还有一个选择,但我觉得比我的好。还有一个问题-如何将%%I保存到变量中?只是在扩展的IF中“set num=%%i”还是其他什么?再次感谢。@ETL问题是你想用%%i?@Mechaflash做什么?我想把它保存到IF语句中(在Joe的第二句话中),所以我想用这个文件做点什么。
set num=%%i
可以吗?该死。我在(0,1,9)do if exist filename%%I.txt…
中对/L%%I尝试了命令
,但它给了我一个错误
%%,此时我遇到了意外情况
。是什么引起的