2

単純なログイン システムの役割を持つこの高度なバッチ ファイルを作成しようとしています。つまり、このバッチ ファイルに登録でき、データは別のバッチ ファイルにエクスポートされ、変数の下にあり、ログインすると、変数を含むファイルが呼び出され、ログインできるようにパスワードを設定してから、他のことを行うことができます。外部ファイルにパスワードのみを含むすべての 1 つのバッチ ファイル。私はこれをすべてコーディングしようとしましたが、ログインするためにパスワードを入力する必要があるステップまで機能します。ファイルは「nekav は予期しない/無人でした」と書き込み、閉じます。

PS:別のファイルの変数の下にパスワードを保存するには、次を使用しました:echo set pass1=pass1a (pass1aは、登録のために以前に入力したパスワードでした)

コードにエラーが見つかりません。すべてここにアップロードしました: http://pastebin.com/RLffPsqG

私のエラーはどこにあるのか教えてください。

4

1 に答える 1

1

私はこれをかなり誇りに思っています :) これには 2 つの異なるファイルがあります。ログインを処理する login.bat と、登録を処理する login2.bat です。login.bat:

@echo off
choice /c:RL /m "Choose an option: Register (R) or Login (L).:
if errorlevel 2 goto login
if errorlevel 1 goto register
:register
start /wait C:\[path]\login2.bat
cls
goto login
:in
cls
echo Welcome %u%
echo.
echo Bla Bla Bla or start "a program"
pause
exit
:login
set /p u=Username
set /p p=Password

および login2.bat:

@echo off
:a
set /p a="Choose a Username"
set /p b="Choose a Password"
echo.
choice /m "Are you sure you would like your Username to be %a% and your Password to be %b%?"
if errorlevel 2 goto a
set q="if %%u%% equ %a% if %%p%% equ %b% goto in"
for /f "tokens=*" %%I in (%q%) do set m=%%I
echo %m% >>C:\[path]\login.bat
exit

ログインに成功した後に何が起こるかを処理するラベルである :in を login.bat の末尾ではなく中間に配置する必要がある理由は、ユーザー名とパスワードの組み合わせを :login ラベルに追加できるようにするためです。もちろん、他の装飾を追加してファイルの名前を変更することもできますが、これが私の基本的な設計です。お役に立てれば!

于 2013-05-31T04:17:30.373 に答える