2014-09-24 85 views
1

我的任務是編寫一個批處理文件,它將param1中的數字寫入param2,如果param2大於param1,則數字將從param2寫入param1。批處理文件中的語句(GTR)

我的代碼的問題是,即使參數1較大,它也會從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

我的輸出是從1號到100

任何建議?

回答

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比我的+1 :) – npocmaka 2014-09-24 18:14:18

相關問題