1

У меня есть следующий цикл 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 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .