2

我正在尝试制作这个具有简单登录系统角色的高级批处理文件,这意味着您可以在此批处理文件中注册,并将您的数据导出到另一个批处理文件,在变量下,当您登录时,调用带有变量的文件,设置您的密码以便您可以登录,然后执行其他操作。全部在一个批处理文件中,外部文件中只有密码。我尝试对所有这些进行编码,并且它一直有效,直到您必须编写密码才能登录的步骤:当我输入密码时(例如,它是“nekav”)(我确定输入时它是正确的)批处理文件写入“nekav 意外/无人值守”并关闭。

PS:为了将密码保存在另一个文件中的变量下,我使用了:echo set pass1=pass1a (pass1a是之前输入的密码,用于注册)

无法在代码中找到错误,我将其全部上传到这里: http: //pastebin.com/RLffPsqG

你能告诉我,我的错误在哪里吗?

4

1 回答 1

1

我对此感到非常自豪:) 这有两个不同的文件:处理登录的 login.bat 和处理注册的 login2.bat。登录.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 回答