0

バッチファイルでログを作成しています。ログインできること。私の大きなバッチファイルプロジェクトの一部です...しかし、問題は、登録してログインすると、誰かが間違ってログインした場合に発生したエラーが表示されますが、ユーザー名とパスワードが正しいことはわかっていますか? 誰でもバッチファイルを編集してスムーズに実行できるようにし、変更を行った理由を説明して、何が問題なのかを理解できますか? コードはこちらです。

@echo off
title LOG IN SCREEN v1.0
color 0a
if EXIST username.uf (
if EXIST password.uf (
goto Login
)) else (goto Reg)

:Reg
cls
echo Welcome to Register!
ping localhost 2 >nul
echo Register to continue
set /p U=Username:
set /p P=Password:
echo %U%>username.uf
echo %P%>password.uf
echo REGISTRATION COMPLETE!
pause
goto Login

:Login
cls
echo Welcome, Please Login to continue
set /p user=Username:
set /p pass=Password:
if %user%==username.uf (
if %pass%==username.uf (
goto welcome 
)) else (goto error)

:welcome
cls
echo Welcome to the Test Program!
ping localhost -n 2 >nul
echo Please Exit and come back when you think 
echo Program is up!
pause
exit

:error
cls
echo Error. Input Value = Incorrect
echo Error Code = .txt =/ u/p
ping localhost -n 2 >nul
echo Type goback to go back to previous screen
set /p er=
if %er%==goback goto Login 
if not %er%==goback goto error
4

1 に答える 1

1

:login セクションで、 %user% が "username.uf" と同じかどうかを確認します パスワードと同じ

if %user%==username.uf (
if %pass%==username.uf (
goto welcome 
)) else (goto error)

このブロックを次のように置き換えます。

set /p us=<username.uf
set /p pa=<password.uf
if "%user%"=="%us%" (
if "%pass%"=="%pa%" (
goto welcome 
)) else (goto error)

set /p入力を要求し、<file.txt はこの要求された入力をファイルから取得します。"変数の1つが空でなければならない場合、構文エラーが発生するため、ifコマンド内で使用しました

于 2013-07-04T06:32:18.610 に答える