我对CMD很新,但我一直在尝试和搜索很多关于它的事情,我已经走到了尽头。 所以我的问题是: 批处理文件是否可以从.txt文件中读取某一行,然后 将它与一些用户输入进行比较?从本质上讲,我想要创建的是拥有一个标准的.txt文件(它将保存一些信息)和一个批处理文件,一旦启动,它将向用户询问一些信息,然后将其与特定信息进行比较。 txt文件行,以查看用户输入是否与.txt中的信息匹配。到目前为止,比较是我无法编码的。有帮助吗? 谢谢。 ;)
答案 0 :(得分:1)
您可以通过循环浏览桌面上的“test.txt”文件来执行此操作,该文件可能如下所示:
data1
data2
data3
data4
data5
data6
data7
data8
data9
然后“test.bat”文件:
set /p @var= Add your input here:
cls
ECHO Script initiated!
ECHO %@var%
cd "C:\Users\%USERNAME%\desktop"
:: loop over file line by line
for /f "tokens=*" %%a in (test.txt) do (
:: test if data exist in file
IF %@var%==%%a (
echo data exists in txt file
)
)
pause
尝试键入输入:“data4”,您将看到第四个循环数据4输出后。
答案 1 :(得分:0)
您可以使用SET将文本文件读入变量。
例如,将文件data.txt
放在包含单词password
的桌面上。然后将其放入批处理文件中:
@echo off
SET /p txt=<%userprofile%\Desktop\data.txt
IF "%1" == "%txt%" (
ECHO "%1 matched!"
) ELSE (
ECHO "%1 did not match"
)
如果您运行:
test.bat wrongpassword
输出为:"wrongpassword did not match"
但是,如果您运行:test.bat password
,则输出为"password matched!"
备注:存储和检查这样的密码是一个非常糟糕的主意。