Блокировка папки .bat: как сменить пароль внутри Cmd - PullRequest
0 голосов
/ 22 ноября 2018
    cls
@ECHO OFF
title Folder posnetki
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST posnetki goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren posnetki "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== pass123 goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" posnetki
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md posnetki
echo posnetki created successfully
goto End
:End

Как изменить пароль из cmd, а не из кода?Здесь мне очень нужна ваша помощь, потому что я не хочу каждый раз, когда я хочу сменить пароль, мне нужно открыть его с помощью txt.

1 Ответ

0 голосов
/ 22 ноября 2018

Я не собираюсь сосредотачиваться на вашем коде вообще, я просто собираюсь продемонстрировать то, что вы задали в качестве основного вопроса, а именно: "как изменить пароль с помощью скрипта" .

Запись пароля в файл методом:

@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, мы используем цикл для чтения из файла.

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