我已经看到了%*
批处理文件和命令行中的用法。
%*
有人可以用一个例子解释一下的典型用法吗?
它的意思是“命令行中的所有参数”。
例如,当您想将命令行从批处理文件转发到另一个程序时,它很有用:
REM mybatchfile.cmd
echo You called this with arguments: %*
echo I will now forward these to the DIR command.
dir %*
前面的任何答案中都没有列出一个重要的点:从命令行%*
扩展到所有SHIFT
参数,即使在操作之后也是如此。
通常 aSHIFT
会将参数移动到%2
、%1
等,并且不再可用。但忽略 any ,因此完整的参数列表始终可用。这既可以是祝福,也可以是诅咒。%3
%2
%1
%*
SHIFT
%*
展开为传递给脚本的完整参数列表。
当您想调用其他程序或脚本并传递与您的脚本相同的参数时,通常会使用它。
修饰符是一个唯一的
%*
修饰符,表示批处理文件中传递的所有参数。您不能将此修饰符与%~
修饰符结合使用。%~
语法必须由有效的参数值终止。
来源: