Как использовать оператор if в командном файле?

704
h.rahmati

У меня есть следующий цикл for в моем командном файле:

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 

Моя переменная в цикле for %%yи я хочу использовать оператор if таким образом:

if my variable > 1000 then  set Result to round my variable / 32  else   set Result to round my variable 

Кто-нибудь знает, как я могу сделать это в пакетном файле?

1
Подсказка: `help if`,` help set`. DavidPostill 7 лет назад 1

1 ответ на вопрос

1
h.rahmati

Вот как я решил проблему:

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