我的批处理文件中有以下 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
以下是我解决问题的方法:
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