批处理文件编程需要帮助

时间:2012-06-11 23:19:43

标签: batch-file

我正在编写一个批处理文件程序,该程序从用户那里获取用户名和密码,并通过将它们与两个文件username.datpassword.dat进行比较来检查它们。

用户名存储在%username%中,密码存储在%password%中。我想知道的是,如何根据文件username.dat和password.dat检查这些变量?

我尝试过使用它:

echo %username% >U.dat
echo %Password% >P.dat
COMP U.dat Username.dat

但值得检查的是什么?我的意思是在C或C ++中我们可以检查返回值,但是这个COMP呢?

1 个答案:

答案 0 :(得分:2)

在文件中存储用户名和密码对我来说似乎不太好。但假设你打算以任何方式这样做......

在进行比较之前,无需将变量回显到临时文件。有多种方法可以更直接地进行比较。这是一种方法。我正在使用延迟扩展,以便在密码(或用户名)中支持& |等特殊字符。

setlocal enableDelayedExpansion
set userPassOK=1
findstr /x /c:"!username!" Username.dat || set "userPassOK="
findstr /x /c:"!password!" Password.dat || set "userPassOK="
if defined userPassOK (echo username and password passed) else echo Invalid username/password