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

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

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

Теги

 

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

Drupal — размещение блока в произвольном месте статьи

Многие владельцы сайтов сталкиваются с необходимостью размещения дополнительных блоков в своих статьях. Это может быть рекламный блок или какое-то объявление. Или просто какое-то декоративное праздничное оформление сайта.

Теги

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

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

Теги