首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >说一批AI (学习)但我有一个问题

说一批AI (学习)但我有一个问题
EN

Stack Overflow用户
提问于 2017-08-08 01:48:29
回答 2查看 81关注 0票数 0

当我使用它时,它只会在我教它另一个词的时候说,我不能让它在目录中说出一个具体的答案,你们对如何解决这个问题有什么意见吗,我很困惑。

代码语言:javascript
复制
@ECHO OFF 
@mode con cols=55 lines=10
if not exist data.txt echo.>data.txt
:begin
set /p text="Talk: "
for /f "tokens=1,* delims=@" %%i in (data.txt) do (
if /i "%text%"=="%%i" (

 echo Visu: %%j
 goto begin
 )
 )
 :Learn
  echo --- I don't know that.
  set /p answer=--- What would be a good answer to '%text%'? 
echo %text%@%answer%>>data.txt
echo Visu: thank you
goto Aye

:Aye
echo set speech = Wscript.CreateObject("SAPI.spVoice") >> "temp.vbs"
echo speech.speak "%answer%" >> "temp.vbs"
start temp.vbs
pause
del temp.vbs
goto begin
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-08 09:28:14

  • 让Aye成为一个子例程/函数,您可以用文本调用它来发言。
  • 在被调用的子中,第一个参数是%1
代码语言:javascript
复制
@ECHO OFF 
mode con cols=55 lines=10
if not exist data.txt Type Nul >data.txt
:begin
cls& Echo Talk to Visu
set "text=" & set /p text="Talk: "
if not defined text exit /B
for /f "tokens=1,* delims=@" %%i in (data.txt
  ) do if /i "%text%"=="%%i" Call :Aye "%%~j" & Goto :begin 

:Learn
echo --- I don't know that.
echo --- What would be a good answer to '%text%'
set /p answer=?  
echo %text%@%answer%>>data.txt
Call :Aye "%answer%"
goto :begin

:Aye 
echo Visu: %~1
echo Visu: thank you
echo set speech = Wscript.CreateObject("SAPI.spVoice") > "temp.vbs"
echo speech.speak "%~1" >> "temp.vbs"
cscript //Nologo temp.vbs
Timeout /T 3 /Nobreak >Nul
del temp.vbs
goto :Eof
票数 0
EN

Stack Overflow用户

发布于 2017-08-08 05:14:47

start temp.vbs替换为cscript /nologo temp.vbs

也许你想

echo set speech = Wscript.CreateObject("SAPI.spVoice") > "temp.vbs"

(>而不是>>)每次都要覆盖文件吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45558088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档