2017-03-06 60 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输出后。

相关问题