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

Используются два файла. 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. Желаемый результат достигнут.
Можно допиливать напильником под свои нужды.