所以,我在批處理腳本中編程,並且遇到了這個問題。以下代碼將採用yourwords.txt文件並解析它。變量existedWord
將具有文本文件的最後一個字。所以,每次運行這個程序時,它只會將用戶的輸入與文本文件中的最後一個字進行比較,但我希望它從開始處進行比較,並且如果該文字存在於文本文件中,那麼只需將消息顯示爲「重複字」。如果該文字不在文本文件中,則將其添加到.txt文件並將消息顯示爲「這是一個新詞」。使用批處理腳本逐行解析文本文件(批處理文件)
.txt文件每行包含文字。例如,
apple
banana
cat
dog
elephant
fish
gone
home
ignorant
注意:此文本文件中的單詞數可能爲幾百。
我的目標是比較此文本文件中的每個單詞,並查看用戶輸入是否與.txt文件中存在的單詞匹配。
@echo off
:START
cls
echo.
echo Enter a word:
set /p "cho=->"
for /F "tokens=*" %%A in (yourwords.txt) do (set existedWord=%%A)
if /I %cho%==%existedWord% (goto REPEATEDWORD)
echo %cho% >> yourwords.txt
)
:SUCCESSFUL
echo.
echo That is a new word.
Ping -n 5 Localhost >nul
goto START
:REPEATEDWORD
echo.
echo Sorry! that word is repeated word.
echo.
pause
goto START
有沒有想過用這個find?查找可以忽略大小寫,但它也可以找到部分單詞。所以如果有人只輸入「e」,並且你檢查你的列表文件並找到它,它會在「apple」中找到「e」。但如果這不關心你發現是一個優雅的方式來做到這一點。 – Marged