我试图创建一个批处理文件,可以响应命令之类的(非常类似和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中,我怎么能只扫描单词"good“(或任何其他描述性形容词),然后根据这个单词(或任何其他描述性形容词)来响应用户呢?
发布于 2015-03-05 18:21:05
就像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
pausehttps://stackoverflow.com/questions/28883462
复制相似问题