Si entonces declaración en el bucle for

Si entonces declaración en el bucle for

Soy novato en secuencias de comandos de Windows. Mis scripts buscarían cadenas en el archivo, si contaran la cadena y verificaran el código de retorno en la declaración if else. Pero tengo una pregunta: en este momento se produjo algún error inesperado en la declaración 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 ) )

Además, ¿puedo integrar la declaración if en el bucle for?

ejemplo:

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

Respuesta1

@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
    )
)

El error se debió a que tenías /idespués de los ifcorchetes. En cualquier caso, /ino se requiere (no distinguir entre mayúsculas y minúsculas) porque ha usado find /cque devolverá solo un número entero.

Como puede ver, la ifcondición definitivamente se puede incluir dentro del forbucle.

información relacionada