1

Мне нужно прочитать только 1 символ (точнее, число) из cmd.exe. Это должно быть сделано только одним нажатием клавиши. Это возможно? Не только cmd.exe, но я имею в виду все стандартные утилиты в windows (поддерживается WinXP-Win7).

PS set /p val=request - это не то, что я ищу. Он читает строку, а не только 1 символ и требует ввода ключа. Мне нужно что-то, что работает как OnKeyDown: прочитать 1 символ и продолжить выполнение скрипта, ввод не требуется.

1 ответ1

1

Не только cmd.exe , но я имею в виду все стандартные утилиты в windows (поддерживается WinXP-Win7).

Почему это должно быть возможно, скажем, для edlin.exe? Это бессмысленное требование.

Если вы хотите запросить один символ, возвращая его сразу после ввода, вам придется использовать некоторую форму дополнительной утилиты сверх того, что входит в комплект Windows NT 5.1, даже если это просто клон Win32 программы MS-DOS 6.2 choice.com (которая, как программа MS-DOS, конечно, не будет работать на Windows x86-64).

С TCC /LE от JP Software, который является заменяющим интерпретатором команд, встроенная команда INKEY делает именно то, что вы просите, и может использоваться следующим образом:

inkey %%key

Затем нажатая клавиша находится в переменной окружения key .

Кроме того, в Windows NT 4.0 Server Resource Kit и более поздних версиях Microsoft предоставляет choice.exe , который является клоном Win32 для MS-DOS choice.com . Обратите внимание, однако, что это набор ресурсов сервера . В Windows NT Server 5.2 и новее, choice.exe связан с самой Windows . Однако, опять же, обратите внимание, что это серверная версия Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .