Я объединил несколько решений, которые я нашел в Интернете, чтобы попытаться это сделать.Запуск всех файлов SQL в нескольких каталогах
https://stackoverflow.com/a/6504317/2471473
https://sqlandme.com/2013/03/25/sql-server-executing-multiple-script-files-using-sqlcmd/
Я пытаюсь запустить один CMD-скрипт (Script1.cmd) с местом папки .sql файлов. Этот единственный скрипт запускает другой скрипт (Script2.cmd), чтобы использовать sqlcmd для выполнения всех файлов .sql в этом местоположении. Он работает в основном, но он оставляет открытое окно команд, из которого я должен выйти из каждой папки.
Script1.cmd
start Script2.cmd "C:\Location1"
start Script2.cmd "C:\Location2"
Script2.cmd
@Echo Off
FOR /f %%i IN ('DIR %1\*.Sql /B') do call :RunScript %1 %%i
GOTO :END
:RunScript
Echo Executing Script: %2
cd %1
SQLCMD -S Server123 -d Database456 -E -i %2
Echo Completed Script: %2
:END
Вы действительно хотите, чтобы обе 'командные строки Script2.cmd' работать одновременно? – aschipfl
@aschipfl Можно ли запускать их серийно из Scrip1? – Kennah
Да: для запуска один за другим просто используйте 'call Script2.cmd *' ... вы также можете использовать 'start '"/WAIT cmd/C Script2.cmd * ', если вы хотите открыть новое окно для каждый пробег ... – aschipfl