Не только 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.