Вот вариант скрипта для "упрощённого варианта":
@echo off
setlocal enableextensions enabledelayedexpansion
set symb1=qwertyuiopasdfghjklzxcvbnm0123456789
set symb2=йцукенгшщзфывапролдячсмить░▒▓╚╛╜╝╞╟╠
set outstr=
set instr=%~2
if _%instr%==_ goto usage
:loop1
set insym=%instr:~0,1%
set instr=%instr:~1%
::echo insym = "%insym%"
::echo instr = "%instr%"
set instr1=%symb1%
set instr2=%symb2%
:loop2
set insym1=%instr1:~0,1%
set instr1=%instr1:~1%
set insym2=%instr2:~0,1%
set instr2=%instr2:~1%
if /I not %insym%==%insym1% (
if not _%instr1%==_ goto loop2
exit /b 254
)
set outstr=%outstr%%insym1%%insym2%
::echo outstr = "%outstr%"
if not _%instr%==_ goto loop1
choice /m "%~1" /c "%outstr%" /n
set a=%errorlevel%
set /a a=(a+1)/2
::echo a=%a%
exit /b %a%
goto end
:usage
echo Usage: %~nx0 Prompt Symbols
:end
endlocal
Идея в следующем: в строку вариантов выбора после каждого символа латиницы добавляется соответствующий символ кирилицы. errorlevel, который возвращает choice пересчитывается, чтобы соответствовать номерам исходного списка.
В строки symb1 и symb2 можно по аналогии забить символы кирилицы и латиницы, но нужно думать, что лучше делать с символами кирилицы, которым на клавиатуре соответствуют скобки, точки и прочие символы, т.к. choice их в списке указывать не позволяет. Для цифр в symb2 забиты символы псевдографики, которые choice принимает и которые вряд-ли кто-то случайно введёт с клавиатуры.
В CODE в symb2 символы псевдографики почему-то пролазить не хотят, поэтому:
1. я скрипт положил сюда: http://zalil.ru/33754479
2. символы можно набрать так: В Far2 сохранить файл в кодовой таблице CP 866, удалить коды & #9617; & #9618; ... и скопировать символы отсюда: ░▒▓╚╛╜╝╞╟╠
3. В Far2 сохранить файл в кодовой таблице CP 866, поставить курсор на место соответствующего символа (& #9617; и т.д.), зажать Alt, справа на цифровой клавиатуре ввести код соответствующего символа (9617, 9618 ...) и отпустить Alt. Должен будет вставиться соответствующий символ псевдографики.
Ну и, имхо, лучше вариант - написать свой вариант choice на VBS\JS, там будет больше возможностей по реакции на символы.