0

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

if %c%=images goto :images

上面的意思是我必须输入确切的单词,,images如果我添加更多单词,它不会进入:images标签。我将如何仅使用您输入的句子中的一个词将其转到标签。
例如,如果它问我:

Where would you like to go?

我说:

The image section please.

然后它带我到图像部分,而无需说image

这可能吗?

4

2 回答 2

2

你可以使用find.

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

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

|如果您对上述及&&以上如何发挥他们的魔力感到好奇,请参阅命令重定向以获取更多信息。

于 2013-03-20T17:34:48.053 回答
2

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

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

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

此技术使用字符串替换将单词替换为image空(从您正在搜索的字符串中删除单词),然后将其与原始字符串进行比较。如果它们不同,则找到子字符串。

于 2013-03-20T17:38:08.230 回答