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