-2
我正在使用Batch創建一種'AI'程序。這是非常基本的,我很好,但無論如何,如果我打開程序,並告訴它保存一些東西(文本),那麼是否有這種情況?然後當我下次啓動程序時輸入某個特定的東西時,它會加載嗎?如何在加載下次使用的批處理程序中保存某些內容?
我正在使用Batch創建一種'AI'程序。這是非常基本的,我很好,但無論如何,如果我打開程序,並告訴它保存一些東西(文本),那麼是否有這種情況?然後當我下次啓動程序時輸入某個特定的東西時,它會加載嗎?如何在加載下次使用的批處理程序中保存某些內容?
不知道這是你想要的......因爲你沒有指定是否需要「人工智能」或其他類型的機器人任務的AI。
這只是一個例子,我在幾分鐘寫,但也許這可以幫助你開始:
@Echo off
:Ask
Echo+
SET /P "Question=>>[YOU] "
Call :Answer "%Question%"
GOTO:ASK
:Answer
Echo+
For /F "Usebackq Tokens=1,* Delims=;" %%A in ("AI.txt") Do (
For %%@ in (%Question%) DO (
Echo "%%A"| FINDSTR /I "\"%%@\"" 1>NUL && (
Echo: [AI] %%B
GOTO:ASK
)
)
)
Echo: [AI] I don't understand you.
GOTO:EOF
AI.txt內容:
matrix;Don't talk about it if you don't awake...
pennys;You said pennys? That remembered me I'm so hungry... ;)
dog;I like it!
name;My name is Bachitia, yes it's cool...
PART 2
這是另一種人工智能的...
@Echo off
Setlocal enabledelayedexpansion
Set /A "INDEX=1"
REM :Check_Question {INDEX} {Response if answer is not saved} {Response if answer is saved}
Call :Check_Question "_%INDEX%" "Hello, I'm glad to meet you, What's your name? " "Welcome again {Value}"
Call :Check_Question "_%INDEX%" "What are your hobbies? " "Are you {Value} again? "
Pause&Exit
:Check_Question
If not exist "AI.txt" (Echo _0;DUMMY>"AI.txt")
For /F "Usebackq Tokens=1,* Delims=;" %%A in ("AI.txt") Do (
If "%%A" EQU "%~1" (
Set "Answer=%~3"
Set "Answer=!Answer:{Value}=%%B!"
Echo !Answer!
Set /A "INDEX+=1"
Exit /B 0
)
)
Set /P "Question=%~2"
Echo _%INDEX%;%Question%>>"AI.txt"
Set /A "INDEX+=1"
Exit /B 0
首先運行:
Ai.txt自動生成的內容:
_0;DUMMY
_1;Elektro
_2;programming
第二輪:
我覺得你在那裏的職責要求稍高一些。他想知道的是如何創建常量變量。儘管如此,+1 – 2013-04-27 09:27:59
當然,你可以保存'回聲文本> file.txt'東西。並通過管道通過另一個程序讀取回來,或通過將其讀取到一個環境變量中:[如何將文本文件的內容加載到批處理文件變量中?](http://stackoverflow.com/questions/134001 /如何將一個文本文件內容加載到批處理文件變量中)我想你需要一個更具體的問題,如果你想要的不僅僅是一個模糊的答案。 – 2013-04-26 22:39:42