2017-04-18 12 views
0

Also ich dachte darüber nach, das soll wie ein sprechender Simulator sein, wo, wenn Sie etwas aufschreiben, dass die Batch-Datei nicht weiß, fordert Sie auf, die Antwort zu schreiben für diese Frage erstellt später eine Textdatei mit dem Namen der Frage, und eine Zeile in der Textdatei mit der Antwort. Das einzige Problem ist, dass ich nicht weiß, wie man die Batch-Datei liest die Zeile innerhalb der Textdatei. Bitte helfen Sie.So finden Sie eine Zeile in einer Textdatei

@echo off 
echo Hello! 
echo Talk To Me! 
pause>nul 
:1 
cls 
echo Enter text 
set /p talk= 
if exist %talk% (
    goto answer 
) else (
    goto dontknow 
) 
:answer 
*finds string in txt file and writes it here* 
pause>nul 
goto 1 
:dontknow 
echo I dont know that yet. Teach me what to answer 
set /p teach= 
echo %teach% >> %talk%.txt 
pause>nul 
goto 1 
+2

[finden] (https://ss64.com/nt/find.html) oder [findstr] (https://ss64.com/nt/findstr.html) – Stephan

Antwort

0

Eine TXT-Datei lesen und in einer Batch-Datei anzeigen. Verwenden Sie den Befehl type. In Ihrem Fall type %talk%

Haben (kleiner) Ihren Code unten bearbeitet.

@echo off 
echo Hello! 
echo Talk To Me! 
pause>nul 
:1 
cls 
echo Enter text 
set /p talk= 
if exist %~dp0%talk%.txt (
    type %talk%.txt 
    pause>nul 
    goto 1 
) else (
    goto dontknow 
) 

:dontknow 
echo I dont know that yet. Teach me what to answer 
set /p teach= 
echo %teach% >> %talk%.txt 
pause>nul 
goto 1 
Verwandte Themen