Can I turn Caps on/of from a batch file in Win 7? - Super User

Windows Batch (.bat) files cannot natively control or check the status of or Num Lock because the CMD language lacks built-in commands for hardware state . To achieve this, a batch file must "spawn" a script using PowerShell or VBScript . Toggling via PowerShell (Recommended)

powershell.exe -Command "IF ([console]::CapsLock -eq 'False') { ... }" Super User

powershell.exe -Command "IF ([console]::NumberLock -eq 'False') { ... }" Super User

You can call a one-line PowerShell command from within your batch file to toggle or force a specific state.

powershell.exe -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('{NUMLOCK}')" Ensuring a Specific State (IF Logic)

Scroll to Top