Wie verwende ich die if-Anweisung in der Batchdatei?

786
h.rahmati

Ich habe die folgende for-Schleife in meiner Batch-Datei:

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 

Meine Variable in for-Schleife ist %%yund ich möchte die if-Anweisung auf eine Weise verwenden:

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

Weiß jemand, wie ich das in einer Batch-Datei machen kann?

1
Hinweis: `help if`,` help set`. DavidPostill vor 8 Jahren 1

1 Antwort auf die Frage

1
h.rahmati

So habe ich das Problem gelöst:

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