【发布时间】:2021-09-17 19:59:54
【问题描述】:
在 Windows 批处理脚本中,如何检查给定参数是否设置在任何位置?比如我打电话给myscript.bat,如下:
myscript.bat /foo /bar
我想确定是否设置了/foo 我可以这样做:
if "%1" == "/foo" echo "/foo is set"
但是现在说我这样调用脚本:
myscript.bat /bar /foo
上面的代码不再回显/foo is set。
我如何编写一个if 条件,使得/foo 是否处于任何位置都是正确的? Windows Batch 是否提供了一种无需检查 for 循环中的每个参数的简单方法?
【问题讨论】:
-
我可以通过使用
%*和stackoverflow.com/questions/7005951/… 中描述的技术对所有参数进行子字符串搜索来做到这一点 -
考虑到您的代表分数并且您不是新成员,我想知道为什么您的问题显示自己没有努力解决这个问题。我也很想知道为什么您对使用
If而没有使用For的解决方案的建议有限。 -
看看Using parameters in batch files at Windows command line,尤其是accepted answer,了解解决问题的可能方法……
标签: windows batch-file cmd