Нужна помощь в создании пароля / имени пользователя системы с партией - PullRequest
0 голосов
/ 21 декабря 2011

Хорошо, вот что я пытаюсь сделать. Я пытаюсь сделать командный файл с пользовательским вводом для входа в систему. Я хотел бы иметь возможность создать новую учетную запись. У меня есть идея, я просто не знаю, как ее реализовать. У меня есть пользователь, который вводит желаемое имя пользователя и пароль, и сохраняет его в текстовом документе следующим образом:

@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. Я знаю, что текстовый файл не является безопасным. У меня есть способы обойти это.

Ответы [ 3 ]

1 голос
/ 21 декабря 2011

Вы можете сделать это, чтобы восстановить сохраненные значения:

(
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
0 голосов
/ 17 апреля 2014

Это то, что я делаю

@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

Это создаст текстовый файл для вашего имени пользователя и пароля

Надеюсь, это помогло.:)

0 голосов
/ 31 мая 2013

Я прилично горжусь этим :) Это в значительной степени полный пересмотр вашего метода. Это имеет два разных файла: login.bat, который обрабатывает login и 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 , Очевидно, вы можете добавить другие украшения и изменить имя файлов, но это мой основной дизайн. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...