После поисков вокруг, xcopy
казалось, был самым надежным выбором.
set "key="
for /f "delims=" %%A in ('xcopy /w "%comspec%" "%comspec%" 2^>nul') do if not defined key set "key=%%A"
set "key=!key:~-1!"
выбирает ключ, с помощью которого вы можете создать ввод.
if "!input:~-%length%!" == "!input!"
позволяет проверять длину (в вашем случае 28).
Вы также можете написать скрипт input.bat
который я написал. Используя макрос, вы можете получить выходные данные скрипта. Сначала вы объявляете макрос:
set input=^
for %%. in (1 2) do if %%.==2 (^
for /F "delims=" %%I in ('input.bat !args!') do ^
set "result=%%I"^
) else set args=
тогда вы используете это так:
setlocal EnableDelayedExpansion
%input% "prompt=Password: " "length=28"
Затем вы можете использовать переменную result
чтобы получить ваш ввод.
ВАЖНЫЙ
Для определения макроса отложенное расширение необходимо отключить. При использовании его , однако, задерживается расширение должно быть ВКЛЮЧЕНО.
Ресурсы
xcopy input - DosTips.com
пакетные макросы - DosTips.com