Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 在使用批处理创建密码/用户名系统时需要帮助_Batch File - Fatal编程技术网

Batch file 在使用批处理创建密码/用户名系统时需要帮助

Batch file 在使用批处理创建密码/用户名系统时需要帮助,batch-file,Batch File,好吧,这就是我要做的。我正在尝试创建一个带有用户输入的批处理文件,用于登录。我想有能力创建一个新的帐户。我有一个想法,我只是不知道如何去实现它。我让用户输入所需的用户名和密码,并将其保存到文本文档中,如下所示: @echo off set /p user=Enter your desired username: set /p pass=Enter your desired password: echo %user% >> log.txt echo %pass% >> lo

好吧,这就是我要做的。我正在尝试创建一个带有用户输入的批处理文件,用于登录。我想有能力创建一个新的帐户。我有一个想法,我只是不知道如何去实现它。我让用户输入所需的用户名和密码,并将其保存到文本文档中,如下所示:

@echo off
set /p user=Enter your desired username:
set /p pass=Enter your desired password:
echo %user% >> log.txt
echo %pass% >> log.txt
这对我来说很好,但现在我想做的是调出这两行,这样当他们输入正确的用户名和密码时,就会进入他们的菜单。 事实上,我知道这个电话不适合这个。有什么办法可以做我想做的事吗


另外,我知道txt文件不安全。我有办法解决这个问题。

您可以这样做来恢复保存的值:

(
set /P savedUser=
set /P savedPass=
) < log.txt
call log
保存值的另一种方法是:

echo set savedUser=%user%> log.bat
echo set savedPass=%pass%>> log.bat
要恢复保存的值,请执行以下操作:

(
set /P savedUser=
set /P savedPass=
) < log.txt
call log

我为此感到自豪:)这几乎是对你的方法的彻底改革。 这有两个不同的文件:处理登录的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是这样的:用户名/密码组合可以附加到:登录标签。显然,您可以添加其他装饰并更改文件的名称,但这是我的基本设计。 希望这有帮助

我就是这么做的

@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
这将为您的用户名和密码创建一个文本文件

我希望这有帮助。:)