我知道我可以用%0得到第一个参数,用%1得到第二个参数,依此类推。我也可以用%*得到所有参数。
我能从第二个论点中得到所有论点吗?例如,如果我运行

foo.bat bar1 bar2 bar3 bar4

我怎么才能只得到bar2 bar3 bar4

最佳答案

@ECHO OFF
SETLOCAL
SET allargs=%*
IF NOT DEFINED allargs echo no args provided&GOTO :EOF
SET arg1=%1
CALL SET someargs=%%allargs:*%1=%%
ECHO allargs  %allargs%
ECHO arg1     %arg1%
ECHO someargs %someargs%

这将使SOMEARGS至少有一个前导分隔符(如果已设置)

07-24 09:45