Я делаю программу в пакетном режиме, и я хочу использовать choice
чтобы запросить ввод имени пользователя. Я хочу иметь возможность получать символы ASCII, но я не знаю, как их получить. Я знаю, что есть способ получить символы ASCII с помощью команды type
, но я хочу только иметь возможность получать символы на клавиатуре, такие как @ £ $ и прочее. Как я могу получить символы ASCII как выбор, используя choice
?
1
1 ответ
2
Как я могу получить символы ASCII как выбор, используя выбор?
Я только хочу, чтобы можно было получать символы на клавиатуре, такие как @ £ $
Это невозможно, поскольку существует ограничение на допустимые символы.
Рассмотрим следующий пакетный файл (test.cmd):
@echo off
setlocal enabledelayedexpansion
choice /c @£$
pause
endlocal
Если вы запустите его, вы увидите следующую ошибку:
> test
ERROR: Invalid choice. The valid choice characters are: a-z, A-Z, 0-9 and ASCII values of 128 to 254.
Press any key to continue . . .
Таким образом, допустимыми значениями выбора являются значения az, AZ, 0-9 и ASCII от 128 до 254.
Если вы хотите ввести символы ASCII напрямую, используйте alt с соответствующим номером, например, alt156 даст вам £
.
Дальнейшее чтение
- Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
- выбор - принять пользовательский ввод в пакетный файл. Выбор позволяет захватывать одиночные нажатия клавиш с клавиатуры.