0
我需要在一个文本文件中读取一些东西,去如下:如何从文本文件中查找和读取行?批量
尼古拉斯PASSWORD1
迈克尔密码2
MYNAME password3
我想要的批处理文件检测变量%fname%(Nicholas)是否存在。 在那之后,我需要找出是否%PWORD%(密码1)是经过%FNAME%
我需要在一个文本文件中读取一些东西,去如下:如何从文本文件中查找和读取行?批量
尼古拉斯PASSWORD1
迈克尔密码2
MYNAME password3
我想要的批处理文件检测变量%fname%(Nicholas)是否存在。 在那之后,我需要找出是否%PWORD%(密码1)是经过%FNAME%
可以使用for
命令是这样的:在一个批处理
set AUTH_OK=0
for /f "tokens=1-2" %%a in (passwords.txt) do (
if "%%a"=="%fname%" (
if "%%b"=="%pword%" (
set AUTH_OK=1
)
)
)
if %AUTH_OK%==1 (
echo Access granted.
) else (
echo Access denied.
)
这是假设你这样做文件。如果从命令行执行该操作,则必须在这些循环变量上使用单个%
而不是双精度(%%
)。
我应该提到这是区分大小写的。
这可能是两个单独的代码?我的意思是(我应该更具体)它测试%fname%比另一次,%pword%。除此之外,您的答案非常有用,我正在使用批处理,而我对FOR命令一无所知。 – user1941370
是的,只是使用这些个人if语句中的一个或另一个。你会看到我嵌套它们,因为我希望两个条件都是真的(批处理文件中没有'AND'运算符)。要了解有关'for'命令的更多信息,请在命令行中键入'for /?'。 – paddy