Я работаю над действительно грязной системой для запуска функциональности формата RedPate SQLPrompt для нескольких файлов, потому что у них нет опции CLI. Я пишу сценарий PowerShell, который будет принимать в каталог, затем циклически просматривая файлы в каталоге, открыть SSMS, запустить набор нажатий клавиш, а затем сохранить файл. Однако, когда я посылаю нажатия клавиш для Ctrl, он отправляет Ctrl + Shift. Мне интересно, есть ли способ остановить это? Код ниже просто тестирует один файл. Я просто делал для себя концептуальную версию. Если у вас есть какие-либо предложения относительно лучшего способа форматирования SQL, я буду рад их услышать.
$FilePath = &(" C:\Users\andrew.vahey\Documents\TestSQLFile.sql")
Add-Type -AssemblyName System.Windows.Forms
ssms.exe $FilePath -E -S PC-ANDREWVAHEY -d Tworks_develop
#Wait 5 seconds
start-sleep -Milliseconds 5000
#The ^ is supposed to send as a Ctrl keystroke. Ctrl K + Ctrl Y will kick off sql prompt format.
[System.Windows.Forms.SendKeys]::SendWait("^{K}^{Y}")
#Wait 5 seconds for the sql prompt to do it's thing.
start-sleep -Milliseconds 5000
#Expand Wild Cards
[System.Windows.Forms.SendKeys]::SendWait("^{B}^{W}")