正在批量扫描单词短语(用户输入)



我正试图创建一个可以响应命令等(很像和AI)的批处理文件,但我的一个零件出现了问题。

这是我所拥有的:

@echo off
set /p Quest="How are you today? "
echo %Quest% > Results.txt
for /f "tokens=1,2,3,4,5 delims= " %%a in (Results.txt) do (
if %%(something)==good do "My day is doing good as well."
)
pause

如何扫描Results.txt的内容?

例如:如果用户说:"我今天很好"或简单地说"很好"怎么办?既然他们的回答会打印到Results.txt中,我怎么能简单地只扫描"好"(或任何其他描述性形容词)一词,并根据这一词(或任何其他描述性形容词")对用户做出回应?

就像Rojo建议的那样,不需要使用文件,FINDSTR命令就是你想要做的事情。但为了避免奇怪的结果,比如"不太好"被解释为"好",并让你更好地控制所提供的答案,我建议使用正则表达式(参数/r)。类似这样的东西:

@echo off
set /p Quest="How are you today? "
echo %Quest% | findstr /r /i "not.*good not.*well" >nul && echo Sorry && goto:pause
echo %Quest% | findstr /i "good well" >nul && echo My day is doing good as well
:pause
pause

如果你真的想用一个文件试试这个方法:

@echo off
set /p Quest="How are you today? "
echo %Quest% > Results.txt
findstr /r /i "not.*good not.*well" Results.txt >nul && echo Sorry && goto:pause
findstr /i "good well" Results.txt >nul && echo My day is doing good as well
:pause
pause

相关内容

最新更新