我可以在 Win 7 中打开/关闭批处理文件中的大写字母吗?

Fly*_*ght 3 windows-7 batch

我有一个非常旧的程序,需要命令全部大写。当我退出这个程序时,我经常忘记关闭 Caps Lock(非常烦人)。我在 XP 中有一个批处理程序可以做到这一点,但在 Win 7 中找不到方法。

Knu*_*ger 6

我从 cmd.exe 知道的唯一方法是生成 powershell 或 vbs。

在批处理结束时删除它,它会切换 CAPSLOCK

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')"
Run Code Online (Sandbox Code Playgroud)

它通过命令行调用 powershell 并调用 sendkeys,另一种方法是将类似的命令回显到 %temp% 文件中,然后wscript %temp%\my.vbs.

编辑:这是确保它只关闭大写锁定的 IF 语句

start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -eq 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"
Run Code Online (Sandbox Code Playgroud)