我在批处理文件和命令行中看到了%*的用法。谷歌搜索没有给我任何结果。有人可以用一个例子解释%*的典型用法。谢谢
答案 0 :(得分:24)
表示“命令行中的所有参数”。
例如,当您想将命令行从批处理文件转发到另一个程序时,它很有用:
REM mybatchfile.cmd
echo You called this with arguments: %*
echo I will now forward these to the DIR command.
dir %*
答案 1 :(得分:13)
以上任何答案中未列出的一个重点:%*
即使在SHIFT
操作后,也会从命令行扩展为所有参数。
通常SHIFT
会将参数%2
移至%1
,%3
移至%2
等,%1
将不再可用。但%*
会忽略任何SHIFT
,因此完整的参数列表始终可用。这既可以是祝福也可以是诅咒。
答案 2 :(得分:5)
%*
扩展为传递给脚本的完整参数列表。
当您想要调用其他程序或脚本并传递传递给脚本的相同参数时,通常会使用它。
答案 3 :(得分:3)
“%*修饰符是一个唯一修饰符,表示批处理文件中传递的所有参数。您不能将此修饰符与%〜修饰符结合使用。%〜语法必须以有效参数值终止。”< / p>
请参阅: