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

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. Желаемый результат достигнут.

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

Теги

 

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

Zabbix — оповещение по телефону через Asterisk

Как-то раз мы проспали проблему. Zabbix прислал пару SMS, но никто ночью не проснулся. А если бы Zabbix позвонил, да ещё бы и рассказал о проблеме, то было бы проще всё упавшее поднимать. Учим Zabbix звонить на телефон.

Теги

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

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

Теги