0

ユーザーからユーザー名とパスワードを取得し、それらを 2 つのファイルと比較してチェックするバッチ ファイル プログラムを作成していusername.datますpassword.dat

%username%ユーザー名は に、パスワードは に保存されます%password%。私が知りたいのは、これらの変数をファイル username.dat および password.dat と照合するにはどうすればよいかということです。

私はこれを使ってみました:

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

しかし、チェックする値は何ですか?つまり、C または C++ では戻り値をチェックできますが、これはCOMPどうでしょうか。

4

1 に答える 1

2

ユーザー名とパスワードをファイルに保存することは、私には悪い考えのように思えます。しかし、あなたがそれをとにかくやろうとしていると仮定すると...

比較を行う前に、変数を一時ファイルにエコーする必要はありません。比較をより直接的に行うには、複数の方法があります。これが1つの方法です。& |パスワード(またはユーザー名)でetcなどの特殊文字をサポートするために遅延拡張を使用しています。

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
于 2012-06-12T04:32:16.647 に答える