3

我很好奇是否有一种方法可以使用键盘上的箭头键来接收来自它们的输入并在批处理文件中使用这些信息?谢谢伯恩

4

1 回答 1

2

有几种方法可以将箭头符号/键分配给变量,但是您不能将它们用作输入,因为它们是命令提示符中的操作按钮(移动光标并遍历已执行的命令)并且您无法检测到它们的按下。

编辑:

@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我已将此作为参考。如果没有,将无法在 XP 上使用forfiles

于 2013-05-17T17:14:17.797 回答