我正在寻找的是批处理文件代码行,它将扫描用户输入的内容以查找关键字并将其指向正确的位置。这样,当受训者有问题时,他/她可以询问批处理文件,并将它们引导到正确的菜单。这可能吗?如果是这样,怎么会这样做?
: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
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
SET "keywords=word anotherword someword"
FOR %%k IN (%keywords%) DO set "#%%k="
SET /p query="Please enter your query ? "
FOR %%k IN (%keywords%) DO CALL :analyse %%k
SET #
GOTO :EOF
:analyse
CALL SET "found=%%query:%1=%%"
IF "%found%"=="%query%" GOTO :EOF
SET #%1=FOUND!
GOTO :eof
这是一种通用的方法。
如果输入了其中一个关键字,则变量#keyword
将设置为FOUND!
,以便您可以使用if defined #keyword
进行处理。
它没有受到破坏性用户输入的保护 - 这不是这个问题的关键......
答案 1 :(得分:0)
最好收集文档中的所有问题(例如.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
等等。