无需批量输入

时间:2013-03-20 17:29:28

标签: batch-file

所以基本上,是否有任何方法可以使批处理文件不需要确切的答案来执行操作。例如:

if %c%=images goto :images

上述意味着我必须输入确切的字词images,如果我添加更多字词,则不会转到:images标签。如何使用您输入的句子中的单词来转到标签 例如,如果它问我:

Where would you like to go?

我说:

The image section please.

然后它将我带到图像部分,而不需要只说image

这可能吗?

2 个答案:

答案 0 :(得分:2)

您可以使用find

echo %c% | find /i "image" >NUL && goto images

这也将提供不区分大小写的匹配。此外,如果您需要更精细地调整匹配,也可以使用findstr基于正则表达式进行匹配。

如果您对上面的|&&如何发挥作用感到好奇,请参阅command redirection以获取更多信息。

答案 1 :(得分:2)

这里有一个类似的问题:Batch file: Find if substring is in string (not in a file)

接受的答案可以适用于您的情况:

if /i "%c:image=%" neq "%c%" goto images

这种技术使用字符串替换来替换单词image什么都没有(从你正在搜索的字符串中删除单词),然后将它与原始字符串进行比较。如果它们不同,则找到子串。