Перейти к основному содержанию

BAT скрипт — скрыть вводимый пароль

code

Понадобилось модифицировать пакетный BAT скрипт таким образом, чтобы на экране не отображался ввод пароля. Планировалось демонстрировать работу скрипта на экране, при этом нужно было не светить вводимый пароль.

Чисто средствами пакетных файлов решить вопрос не удалось, но удалось найти вариант, когда для ввода пароля BAT файл использует скрипт PowerShell. Выглядит это так:

code

Используются два файла. getpwd.ps1:

$password = Read-Host " " -AsSecureString
$password = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($password)
$password = [Runtime.InteropServices.Marshal]::PtrToStringAuto($password)
echo $password

И maskedpass.bat:

@echo off
:: кодировка UTF8
chcp 65001 >nul
cd %~dp0
<nul: set /p passwd=Введите пароль
for /f "delims=" %%i in ('powershell -file getpwd.ps1') do set passwd=%%i
echo.
echo Вы ввели %passwd%
pause
exit

Не самое красивое решение и не все желаемые функции реализованы как надо. Но пароль маскируется звёздочками, поддерживается редактирование через Backspace. Желаемый результат достигнут.

Можно допиливать напильником под свои нужды.

Теги

 

Похожие материалы

BAT скрипт для резервного копирования MySQL в Облако Mail.Ru

Накидал маленький BAT скрипт для резервного копирование MySQL баз в Облако Mail.Ru по протоколу WebDAV. Внесите свои данные и через scheduler настройте расписание резервного копирования.

Теги

Запуск BAT скрипта при логине на сервер один раз

Настроим автозапуск BAT скрипта при логине юзера на сервер. Сделаем так, чтобы скрипт запускался только один раз, а при последующих входах запускаться не будет.

Теги