当我使用 RDP 在家工作时,电子邮件自动更正不断使我的 Caps 锁定不同步,我一直在寻找在打开新电子邮件或 PDF 表单时重新同步和预设 Caps 锁定状态的方法。要打开 PDF 表单并打开 Caps 锁定并重新同步,我发现以下代码有效,如果 Caps 锁定已打开,则关闭 Caps 锁定,然后在打开 PDF 文件之前将其重新打开。但是我想简化这个过程以加快进程。有没有更好的方法来编写这个,也许将前两行合并到一行?
有什么建议吗?谢谢。
@echo off
start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -eq 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"
start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')"
start "" /wait /D"C:\Users\Claire\Desktop" "pdf-form.pdf"
exit
答案1
/B 开关在这里没有实际好处,如果目的只是确保大写锁定处于打开状态,则只需要一行即可启用它,使用 ne 表示不等于真。
@start /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -ne 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"
@start "" /wait /D"C:\Users\Claire\Desktop" "pdf-form.pdf"
@exit /B 0