Как я могу пропустить один файл в наборе файлов? - PullRequest
0 голосов
/ 12 марта 2012

Ниже приведен мой код в пакетном файле:

for %%f in (%~dp0*.sql) do (
sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -I -i "%%f" >>TsDeploy.txt 2>&1
)

вопрос в том, что в этом наборе есть один файл, который НЕ должен запускаться как первый.это вставить данные в таблицу).

Как мне сделать, чтобы достичь цели только в одном пакетном файле?

1 Ответ

1 голос
/ 12 марта 2012

Вы можете переименовать файл sql, который не должен запускаться первым, чтобы он сортировался до конца (префикс с z?).

Или вы могли бы сделать что-то вроде

for %%f in (%~dp0*.sql) do (
  if "%~nxf" neq "fileNameNotToRunFirst.sql" (
    sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -I -i "%%f" >>TsDeploy.txt 2>&1
  )
)
sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -I -i "%~dp0fileNameNotToRunFirst.sql" >>TsDeploy.txt 2>&1

Или вы можете создать мастер-сценарий sql, который вызывает все остальные в правильном порядке, как описано в Как запустить серию сценариев T-SQL в определенном порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...