如何检测批处理文件的参数数量并循环遍历它们?

bui*_*247 7 batch

有没有一种简单的方法来检测作为参数传递给批处理文件的参数数量,然后用于for /L循环它们?

Dav*_*ill 8

如何检测批处理文件的参数数量并循环遍历它们?

%* 在批处理脚本中引用所有参数(例如 %1 %2 %3 %4 %5 ...%255)

您可以使用%*将所有命令行参数检索到批处理文件。

要计算参数和循环,for /L请参阅StackOverflow答案Batch-Script - Iterate through arguments by aacini

@echo off
setlocal enabledelayedexpansion

set argCount=0
for %%x in (%*) do (
   set /A argCount+=1
   set "argVec[!argCount!]=%%~x"
)

echo Number of processed arguments: %argCount%

for /L %%i in (1,1,%argCount%) do echo %%i- "!argVec[%%i]!"
Run Code Online (Sandbox Code Playgroud)

进一步阅读