Я пытаюсь написать пакетный код, который просматривает папку C:\XYZ
со списком .bat
файлов.Я хочу, чтобы код просматривал каждый файл .bat
в папке, (который загружает некоторые данные в MSQL Server) , и выполняет некоторый код SQL для каждого файла .bat
, прежде чем вернуться к следующему.bat
файл и тд.
Мой код пока проходит по всем файлам .bat
, затем выполняет код SQL, но вместо этого я хочу выполнить код SQL для каждого файла bat
, прежде чем переходить к следующему.
Это для MSQL Server, использующего утилиту SQLCMD, встроенную в пакетный файл Windows с использованием цикла for
.Проблема в моем синтаксисе, я просто не знаю, как заставить логику перебирать каждый файл .bat
.
Это перебирает все файлы .bat
, а затем выполняет SQL для них ...
CD "C:\XYZ"
for /r %%i in (.\*.bat) do Call %%i
SQLCMD -S ABC\SQLEXPRESS -E -d database -q "Some SQL code"
Хотя это и делает первую итерацию (всего 1 файл) того, что я на самом деле хочу, но не удается перебрать другие .bat
файлы.
CD "C:\XYZ"
for /r %%i in (.\*.bat) do (
Call %%i
SQLCMD -S ABC\SQLEXPRESS -E -d database -q "Some SQL code"
)
Я также хотел бы знать журнал времени, которое требуется для прохождения каждого пакетного файла в цикле и когда он завершается в командном окне.