【发布时间】:2013-04-22 10:21:36
【问题描述】:
我在批处理文件和命令行中看到了%* 的用法。
谁能举例说明%*的典型用法?
【问题讨论】:
-
这能回答你的问题吗? What does %* mean?
-
@phuclv 我真的认为重复的目标方向应该颠倒。这个问题似乎比您链接的问题更规范。
标签: windows batch-file cmd
我在批处理文件和命令行中看到了%* 的用法。
谁能举例说明%*的典型用法?
【问题讨论】:
标签: windows batch-file cmd
意思是“命令行中的所有参数”。
例如,当您想将命令行从批处理文件转发到另一个程序时很有用:
REM mybatchfile.cmd
echo You called this with arguments: %*
echo I will now forward these to the DIR command.
dir %*
【讨论】:
前面的任何答案中都没有列出一个重要点:%* 从命令行扩展为 所有 参数,即使在 SHIFT 操作之后也是如此。
通常SHIFT 会将参数%2 移动到%1、%3 到%2 等,并且%1 不再可用。但是%* 会忽略任何SHIFT,因此完整的参数列表始终可用。这既是福也是祸。
【讨论】:
%* 扩展为传递给脚本的完整参数列表。
当您想调用其他程序或脚本并传递与您的脚本相同的参数时,通常会使用它。
【讨论】:
%*修饰符是一个独特的修饰符,它表示批处理文件中传递的所有参数。您不能将此修饰符与%~修饰符结合使用。%~语法必须以有效的参数值结束。
来源:
【讨论】: