Как использовать оператор if в командном файле?
У меня есть следующие для цикла в моем командном файле:
for /f %%y in ('findstr /C:"%%c" out.txt ^| sed "s/.*%%c \([^>]*\).*/\1/i"') do SET RESULT=%%y
echo.%%a;%%b;%%c;!RESULT!>>D:\outputTA.txt
Моя переменная для цикла является %%y
и я хочу использовать оператор if таким образом:
if my variable > 1000 then
set Result to round my variable / 32
else
set Result to round my variable
Кто-нибудь знает, как я могу сделать это в пакетном файле?
1 ответ
Решение
Вот как я решил проблему:
for /f "tokens=1,2 delims=." %%A in ("!RESULT!") do (
if %%A LSS 1000 (
set int=%%A
if not "%%B"=="" (
set decimal=%%B
set decimal=!decimal:~0,1!
if !decimal! GEQ 5 (
set /a int+=1
)
)
) else (
if %%A GTR 1000 (
set /a int=%%A/32
set /a int+=1
)
)
echo !int!
echo.%%a;%%b;%%c;!int!>>D:\outputTA.txt