powershell.exe -Command "IF ([console]::CapsLock -eq 'False') { ... }" Super User
Can I turn Caps on/of from a batch file in Win 7? - Super User Batch File Caps Lock Num Lock
To force a key to be "ON" only if it is currently "OFF," use PowerShell to check the status first. powershell
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) Windows Batch (
powershell.exe -Command "$wsh = New-Object -ComObject WScript.Shell; $wsh.SendKeys('{NUMLOCK}')" Ensuring a Specific State (IF Logic)
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.