
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 /i
después de los if
corchetes. En cualquier caso, /i
no se requiere (no distinguir entre mayúsculas y minúsculas) porque ha usado find /c
que devolverá solo un número entero.
Como puede ver, la if
condición definitivamente se puede incluir dentro del for
bucle.