Batch file 如何查找用户在命令行中输入的关键字?

Batch file 如何查找用户在命令行中输入的关键字?,batch-file,cmd,find,findstr,Batch File,Cmd,Find,Findstr,我正在寻找的是一个批处理文件行代码,它将扫描用户输入的内容,以找到关键字并将它们引导到正确的位置。这样,当学员有问题时,他/她可以直接询问批处理文件,它将引导他们进入正确的菜单。这可能吗?如果是这样,人们将如何着手这样做 :menu set /p c=Please type you question: findstr /m "How to ringout a product on our system?" "%c%" if %c%=="ringout" ( goto :Ringingo

我正在寻找的是一个批处理文件行代码,它将扫描用户输入的内容,以找到关键字并将它们引导到正确的位置。这样,当学员有问题时,他/她可以直接询问批处理文件,它将引导他们进入正确的菜单。这可能吗?如果是这样,人们将如何着手这样做

:menu
set /p c=Please type you question: 
findstr /m "How to ringout a product on our system?" "%c%"
if %c%=="ringout" (
    goto :Ringingout
    ) Else (
        goto :Sorry
        )

:Ringingout
cls 
echo In order to right something out maksure you do the following:
echo - Log in
echo - click on scan in the bottom left had corner on the tender page
echo - scan items
echo - click continue
Pause
goto :Menu

:Sorry
cls
echo Sorry I don't recognize your question, please re-word it.
pause
goto :Menu
@ECHO关闭
SETLOCAL
设置“关键字=单词另一个单词someword”
对于%%k IN(%keywords%)设置“#%%k=”
SET/p query=“请输入您的查询?”
对于%%k IN(%keywords%),请调用:分析%%k
设置#
后藤:EOF
:分析
调用集“找到=%%查询:%1=%%”
如果“%found%”==“query%”转到:EOF
设置#%1=已找到!
后藤:eof
这里有一个通用的方法

如果输入其中一个关键字,变量
#keyword
将设置为
FOUND
因此,如果定义了#关键字,您可以使用
从那里进行处理


它不受破坏性用户输入的保护-这不是这个问题的重点…

您最好收集文档(如.html)中的所有问题,让用户搜索该文档以获取他们需要的内容。但如果这只是一个练习,您可以像这样重新编写逻辑,以使程序正常工作:

:menu
set "c="
set /p "c=Please type your question: "

echo %c% | findstr /i /b "ringout" >nul
if errorlevel 1 goto Sorry else goto Ringingout

:Ringingout
依此类推。

正如我所说,
如果定义了,单词转到任何其他单词