La única manera que sé de cmd.exe es generando powershell o vbs.
Suelta esto al final de tu lote, alterna CAPSLOCK
start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')"
Eso llama a powershell a través de la línea de comandos e invoca las teclas de envío, el método alternativo es hacer eco de comandos similares en un archivo% temp% y luego wscript %temp%\my.vbs
.
EDITAR: Aquí está la declaración IF para garantizar que solo apague el bloqueo de mayúsculas
start /b /wait powershell.exe -nologo -WindowStyle Hidden -sta -command "IF ([console]::CapsLock -eq 'True'){$wsh = New-Object -ComObject WScript.Shell;$wsh.SendKeys('{CAPSLOCK}')}"
[console]::CapsLock
muestra el estado actual $ true o $ false combinado con una instrucción IF, puede asegurarse de que no se ejecute si el bloqueo de mayúsculas ya está desactivado.