获取 Windows 批处理文件中的最后一个命令行参数
我需要将最后一个参数传递给 Windows 批处理脚本,我该怎么做?
I need to get last argument passed to windows batch script, how can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这将获取参数的计数:
要获取实际的最后一个参数,您可以执行以下操作
请注意,如果命令行具有不平衡的引号,这将失败 - 命令行将通过
for
重新解析,而不是直接解析使用用于%1
等的解析。This will get the count of arguments:
To get the actual last argument, you can do
Note that this will fail if the command line has unbalanced quotes - the command line is re-parsed by
for
rather than directly using the parsing used for%1
etc.最简单也可能是最可靠的方法是仅使用
cmd
自己的参数解析,然后shift
直到没有更多参数为止。由于这会破坏
%1
等的使用,因此您可以在子例程中执行此操作:The easiest and perhaps most reliable way would be to just use
cmd
's own parsing for arguments andshift
then until no more are there.Since this destroys the use of
%1
, etc. you can do it in a subroutine:joey 的答案的增强版本:
使用参数运行它:
并得到:
An enhanced version of joey's answer:
Run it with the arguments:
and get: