12

最初の引数を %0 で取得し、2 番目の引数を %1 で取得できることはわかっています。また、すべての引数を %* で取得することもできます。

2 番目の引数からすべての引数を取得できますか? たとえば、私が実行した場合

foo.bat bar1 bar2 bar3 bar4

のみを取得するにはどうすればよいbar2 bar3 bar4ですか?

4

3 に答える 3

10
@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により、少なくとも 1 つの先頭セパレーターが残ります (設定されている場合)。

于 2013-05-03T08:52:53.813 に答える