2014-09-24 2 views
1

내 작업은 param1에서 param2로 번호를 쓰는 배치 파일을 쓰는 것입니다. param2가 param1보다 크면 숫자가 param2에서 param1로 기록됩니다.If 배치 파일 (GTR) 배치 파일

내 코드의 문제점은 param1이 더 큰 경우에도 param1에서 param2로 실행된다는 것입니다.

echo off 
if %~2 GTR %~1 (for /l %%B in (%1,1,%2) do echo %%B) else (for /l %%C in (%2,1,%1) do echo %%C) 

내 입력 test.bat 100 1

내 출력 100

어떤 제안 1에서 숫자이다?

답변

1
if %~2 GTR %~1 (
    for /l %%B in (%1,1,%2) do echo %%B 
) else (
    for /l %%C in (%1,-1,%2) do echo %%C 
) 
1
if "%~1" gtr "%~2" (set "step=-1") else (set "step=1") 
for /l %%a in (%~1 %step% %~2) do echo %%a 

당신은 내 일을보다 단계를

+0

aah..shorter을 조정해야합니다 :) – npocmaka