Windows 命令行中模拟 Getchar() 吗?

Windows 命令行中模拟 Getchar() 吗?

我只需要从 cmd.exe 中读取 1 个字符(确切地说是数字)。这必须仅通过一次击键即可完成。这可能吗?不仅是 cmd.exe,我的意思是 Windows 中的所有标准实用程序(WinXP-Win7 支持)。

附言set /p val=request 不是我想要的。它读取字符串,不仅仅是 1 个字符,而且需要enter键。我需要一些类似的东西OnKeyDown:读取 1 个字符并继续执行脚本,不需要enter

答案1

不仅如此cmd.exe,我指的是 Windows 中的所有标准实用程序(WinXP-Win7 支持)。

为什么需要能够实现,比如说,edlin.exe?这是一个荒谬的要求。

如果你想提示输入一个字符,输入后立即返回,那么你将不得不使用一些除了 Windows NT 5.1 自带的功能之外,还提供了额外的实用程序形式,即使它只是 MS-DOS 6.2choice.com程序的 Win32 克隆版(作为 MS-DOS 程序,它当然不能在 x86-64 Windows 上运行)。

JP Software 的 TCC/LE,这是一个替代命令解释器,内置INKEY命令完全按照您的要求进行操作并可以这样使用:

inkey %%key

按下的键就会出现在key环境变量中。

或者,在 Windows NT 4.0 Server 资源工具包中后来,微软提供了choice.exe,它是 MS-DOS 的 Win32 克隆choice.com。但请注意,这是服务器choice.exe资源工具包。对于 Windows NT Server 5.2 及更高版本,与 Windows 捆绑在一起。不过,再次提醒大家,这是服务器Windows 版本。

相关内容