好的,这就是我想要做的事情。我正在尝试使用用户输入创建一个用于登录的批处理文件。我希望能够创建一个新帐户。我有一个想法,我只是不知道如何实施它。我让用户输入他想要的用户名和密码,并将其保存到文本文档中,如下所示:
@echo off
set /p user=Enter your desired username:
set /p pass=Enter your desired password:
echo %user% >> log.txt
echo %pass% >> log.txt
这对我来说很好,但是现在我想要做的就是调出这两行,这样当他们输入正确的用户名和密码时,它们就会把他们带到他们的菜单中。 我知道这个电话不会很好用。有没有办法做我想做的事情?
P.S。我知道txt文件不安全。我有办法解决这个问题。
答案 0 :(得分:1)
您可以执行此操作以恢复已保存的值:
(
set /P savedUser=
set /P savedPass=
) < log.txt
这样:
if "%user%" == "%savedUser%" if "%pass%" == "%savedPass%" goto accessGranted
另一种保存值的方法是:
echo set savedUser=%user%> log.bat
echo set savedPass=%pass%>> log.bat
并恢复保存的值:
call log
答案 1 :(得分:0)
我为此感到非常自豪:)这几乎是对你的方法的全面改革。 这有两个不同的文件: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标签。显然你可以添加其他装饰并更改文件的名称,但这是我的基本设计。 希望这有帮助!
答案 2 :(得分:0)
这就是我的工作
@echo off
:: some code here
set /p username=please create a username:
set /p password=please create a password:
echo %username%>username.txt
echo %password%>password.txt
这将为您的用户名和密码创建一个文本文件
我希望这有帮助。 :)