我已经看到了%*批处理文件和命令行中的用法。
%*有人可以用一个例子解释一下的典型用法吗?
它的意思是“命令行中的所有参数”。
例如,当您想将命令行从批处理文件转发到另一个程序时,它很有用:
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
%*展开为传递给脚本的完整参数列表。
当您想调用其他程序或脚本并传递与您的脚本相同的参数时,通常会使用它。
修饰符是一个唯一的
%*修饰符,表示批处理文件中传递的所有参数。您不能将此修饰符与%~修饰符结合使用。%~语法必须由有效的参数值终止。
来源: