我的任务是编写一个批处理文件,将param1中的数字写入param2,如果param2大于param1,则数字将从param2写入param1。
我的代码的问题是它从param1运行到param2,即使param1更大。
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的数字。
有什么建议吗?
答案 0 :(得分: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 :(得分:1)
if "%~1" gtr "%~2" (set "step=-1") else (set "step=1")
for /l %%a in (%~1 %step% %~2) do echo %%a
您只需要调整步骤