2017-03-06 66 views
-2

我對CMD相當陌生,但我一直在嘗試和搜索很多關於它的知識,而且我已經走到了一條死路。 所以我的問題是這樣的: 批處理文件可能從.txt文件中讀取某一行,然後 將其與某些用戶輸入進行比較?實質上,我想要創建的是有一個標準的.txt文件(它將保存一些信息)和一個批處理文件,一旦啓動,它將詢問用戶一些信息,然後將其與特定文件進行比較。 txt文件行來查看用戶輸入是否匹配.txt中的信息。到目前爲止,比較是我無法編碼的。任何幫助? 謝謝。 ;)如何從.txt文件讀取一行並將其與CMD中的用戶輸入進行比較?

+4

你甚至試過Google嗎?一步一步地搜索... http://stackoverflow.com/questions/14834625/reading-text-file-in-batch-script ... http://stackoverflow.com/questions/1223721/in-windows -cmd-怎麼辦-I-提示換用戶輸入和使用的,在對結果的,另一個-COM –

回答

0

您可以使用SET將文本文件讀入變量。 例如,在包含單詞password的桌面上放置文件data.txt。然後把這個批處理文件:

@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!"

側面說明:存儲和檢查這樣的密碼將是一個非常糟糕的主意。

0

你可以通過你的桌面,可能看起來像你的 「的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」,你會看到在第四個循環data4輸出後。

相關問題