Я не собираюсь сосредотачиваться на вашем коде вообще, я просто собираюсь продемонстрировать то, что вы задали в качестве основного вопроса, а именно: "как изменить пароль с помощью скрипта" .
Запись пароля в файл методом:
@echo off
cls
:start
if not exist "%temp%\tmppwd.lck" (
echo password file does not yet exist Please create a Password.
goto chpwd
)
Choice /C TC /M "Select U to unlock T to test password"
if %errorlevel%==2 goto chpwd
if %errorlevel%==1 goto checkpass
:chpwd
set /p "passwd=Enter your new password and press Enter: "
set /p "passwdc=Confirm new password: "
if "%passwd%"=="%passwdc%" (
echo %passwd% > %temp%\tmppwd.lck
goto start
) else (
cls
echo Sorry, Passwords did not match, please retry
goto chpwd
)
:checkpass
for /f %%i in ('type "%temp%\tmppwd.lck"') do set "test=%%i"
set /p "attempt=Enter password to see if this works: "
if "%attempt%"=="%test%" (
echo Passwords Match & pause
) else (
echo Sorry, you entered the incorrect password
)
Итак, как вы можете видеть, мы создаем новый пароль, проверяем его и затем записываем в файл паролей.Если файл не существует, мы просто делаем то же самое.
Метка :checkpass
демонстрирует, как вы можете использовать пароль из файла.Поэтому, где вы в настоящее время используете if NOT %pass%== pass123 goto FAIL
, мы используем цикл для чтения из файла.