批处理文件中是否%*
表示所有命令行参数?
答案1
是的。根据微软官方文档:
%* 批处理参数是对传递给批处理文件的所有参数(不包括 %0)的通配符引用。
答案2
除此之外,@kobkira 的评论指出,在传统语法中,您最多只能使用 9 个参数。如果您想要在单独的数组样式变量中获取 n 个参数,请使用以下语法:
@echo off & setlocal enabledelayedexpansion & set "n=30"
for /l %%a in (1,1,%n%) do (
for /f "tokens=%%a delims= " %%b in ('echo %*') do (
set "arg[%%~a]=%%~b"
)
)