for 循环中的 If then 语句

for 循环中的 If then 语句

我对 Windows 脚本编程不太熟悉。我的脚本会在文件中搜索字符串,计算字符串,并在 if then else 语句中检查返回代码。但是,我有一个问题,这次 if then 语句显示 [%i] 时出现了一些意外错误。

@echo off
cd C:\script\
for /f "tokens=3" %%i in ( 'find /C "ANR2034E" checkout.txt' ) do ( echo %%i )
if [/I] [%%i] == [1]  ( echo %%i ) else ( echo No ) )

此外,我可以在 for 循环中集成 if 语句吗?

例子:

for %%i in ('command') do ( if [/I] [%%i] == [i] (command) else (command))

答案1

@echo off
cd C:\script\
for /f "tokens=3" %%i in ('find /C "ANR2034E" checkout.txt') do (
    echo %%i
    if [%%i]==[1] (
        echo %%i
    ) else (
        echo No
    )
)

错误是因为您在方括号内添加了/iif无论如何/i(不区分大小写)都不是必需的,因为您使用了find /c,这将仅返回一个整数。

正如您所见,if条件绝对可以包含在for循环内。

相关内容