[英]Batch For Nest In file and in range
我需要有关从文本中查找值的帮助,然后在范围列表条件goto中比较匹配项
文件1.txt包含多行:
[Software]
App=3
我写批处理但卡住了
@ECHO ON
FOR /F "TOKENS=2 DELIMS== " %%I IN ('FINDSTR App D:\1.txt') DO
SET App=%%I
IF "%App%"=="1" GOTO :1
IF "%App%"=="2" GOTO :2
IF "%App%"=="3" GOTO :3
:NOTINRANGE
ECHO Not Found
Exit
:1
ECHO %App%
EXIT
:2
ECHO %App%
EXIT
:3
ECHO %App%
EXIT
如果%App%值不在[1,2,3]范围内,我不知道如何写条件
set
命令必须与do
在同一物理行上
在您的特定示例中,您可以通过几种不同的方式执行此操作,因为命令的结果与标签名称相同。
您可以直接使用FOR
变量的结果直接执行goto
命令。
FOR /F "TOKENS=2 DELIMS==" %%I IN ('FINDSTR App D:\1.txt') DO goto %%I
如果您确实需要测试该值的范围,则无需进行所有额外的IF
比较,仍然可以完成此操作。 假设您的应用程序值永远不会为零或小于0。
FOR /F "TOKENS=2 DELIMS==" %%I IN ('FINDSTR App D:\1.txt') DO IF %%I LEQ 3 GOTO %%I
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.