【发布时间】:2013-05-12 22:00:53
【问题描述】:
我很好奇是否有一种方法可以使用键盘上的箭头键来接收来自它们的输入并在批处理文件中使用这些信息?谢谢 烧录
【问题讨论】:
标签: batch-file cmd windows-7 arrow-keys
我很好奇是否有一种方法可以使用键盘上的箭头键来接收来自它们的输入并在批处理文件中使用这些信息?谢谢 烧录
【问题讨论】:
标签: batch-file cmd windows-7 arrow-keys
有几种方法可以将箭头符号/键分配给变量,但您不能将它们用作输入,因为它们是命令提示符中的操作按钮(移动光标并遍历已执行的命令)并且您无法检测到他们的紧迫感。
编辑:
@echo off
CHCP 1251
::Define a Linefeed variable
set LF=^
::above 2 blank lines are critical - do not remove
endlocal
call :hexPrint "0x1a" upArrow
call :hexPrint "0x1b" downArrow
call :hexPrint "0x18" rightArrow
call :hexPrint "0x19" leftArrow
echo %upArrow% %downArrow% %rightArrow% %leftArrow%
goto :eof
:hexPrint string [rtnVar]
for /f eol^=^%LF%%LF%^ delims^= %%A in (
'forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo(%~1"'
) do if "%~2" neq "" (set %~2=%%A) else echo(%%A
exit /b
这会将箭头设置为变量,但结果可能取决于您的CHCP。我使用过this as reference。如果没有forfiles,将无法在XP 上运行
【讨论】: