%*在批处理文件中的含义是什么

时间:2013-04-22 10:21:37

标签: windows batch-file cmd

我在批处理文件和命令行中看到了%*的用法。谷歌搜索没有给我任何结果。有人可以用一个例子解释%*的典型用法。谢谢

4 个答案:

答案 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>

请参阅: