Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запуск SQL запросов из bat файлов в определенном порядке  [new]
minya13_85
Member

Откуда: Москва
Сообщений: 587
Может написал не в тот форум, но возможно кто-то из вас знает.

Накатываю обновления. и есть куча sql файлов , лежащих в одной папке, но у них строго задан порядок, по дате создания. Как в батнике прописать порядок запуска этих файлов?

Так он запускает их в произвольном порядке. Хочу создать сначала по дате создания, затем по имени файла. Как нибудь можно указать Order by

 for %%G in (*.sql) do sqlcmd -S TEST -d TEST -E -I -i"%%G" >> %%G.log 
16 май 18, 14:42    [21413634]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Дед-Папыхтет
Member [заблокирован]

Откуда:
Сообщений: 2808
minya13_85,

powershell


Get-ChildItem | Sort-Object $_.Name | Where-Object { sqlcmd -S TEST -d TEST -E -I -i"$_" >> $_.log}
16 май 18, 14:48    [21413673]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Посетитель
Member

Откуда:
Сообщений: 871
minya13_85,

dir с ключом /t
но это вопрос не по SQL, чесгря :)
16 май 18, 14:55    [21413710]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
minya13_85
Member

Откуда: Москва
Сообщений: 587
Дед-Папыхтет,

Я правильно понял что тут стоит сортировка по Object $_.Name, это имя файла, а дата создания файла? и можно ли менять порядок типа desc, asc ?
16 май 18, 14:58    [21413734]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18009
minya13_85
Хочу создать сначала по дате создания, затем по имени файла. Как нибудь можно указать Order by
Можете использовать не шаблон *.sql, а результат выполнения DIR /O:D *.sql.
16 май 18, 14:59    [21413739]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Дед-Папыхтет
Member [заблокирован]

Откуда:
Сообщений: 2808
minya13_85
Дед-Папыхтет,

Я правильно понял что тут стоит сортировка по Object $_.Name, это имя файла, а дата создания файла? и можно ли менять порядок типа desc, asc ?

help Sort-Object
16 май 18, 14:59    [21413740]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
minya13_85
Member

Откуда: Москва
Сообщений: 587
Посетитель
minya13_85,

dir с ключом /t
но это вопрос не по SQL, чесгря :)


Да я понял, просто не знал куда задать)))

Не совсем понял про ваш ответ
16 май 18, 14:59    [21413742]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Посетитель
Member

Откуда:
Сообщений: 871
minya13_85,

for /F "tokens=*" %%i in ('dir *.sql /B /T') do sqlcmd -S TEST -d TEST -E -I -i"%%i" >> %%G.log
16 май 18, 15:01    [21413759]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Посетитель
Member

Откуда:
Сообщений: 871
ну и как верно змаметил Akina, еще /O надо

dir /?
/O Сортировка списка отображаемых файлов.
порядок N По имени (по алфавиту)
сортировки S По размеру (начиная с минимального)
E По расширению (по алфавиту)
D По дате и времени (начиная с самого старого)
G Начать список с каталогов. - Префикс "-" обращает порядок.
/T Выбор поля времени для сортировки.
время C Создание.
A Последнее использование.
W Последнее изменение.
16 май 18, 15:04    [21413774]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
minya13_85
Member

Откуда: Москва
Сообщений: 587
Посетитель
minya13_85,

for /F "tokens=*" %%i in ('dir *.sql /B /T') do sqlcmd -S TEST -d TEST -E -I -i"%%i" >> %%G.log


Не срабатывает, что значит /B ? Этот батник запускает по имени файла
16 май 18, 15:12    [21413832]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Посетитель
Member

Откуда:
Сообщений: 871
minya13_85,

ну я уже дописал, что ключей не хватает. почитайте справку по dir /?
/B - это выводить только имена файлов, без лишней информации
+Вам скорее всего нужны ключи /O:D и /T:C (если нужна прямая сортировка по времени создания)
16 май 18, 15:14    [21413853]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
minya13_85
Member

Откуда: Москва
Сообщений: 587
Посетитель
minya13_85,

ну я уже дописал, что ключей не хватает. почитайте справку по dir /?
/B - это выводить только имена файлов, без лишней информации
+Вам скорее всего нужны ключи /O:D и /T:C (если нужна прямая сортировка по времени создания)



for /F "tokens=*" %%i in ('dir *.sql /O:D') do sqlcmd -S TEST -d TEST -E -I -i"%%i" >> %%G.log

Так не срабатывает вообще батник
16 май 18, 15:40    [21414004]     Ответить | Цитировать Сообщить модератору
 Re: Запуск SQL запросов из bat файлов в определенном порядке  [new]
Посетитель
Member

Откуда:
Сообщений: 871
minya13_85,

1. набираешь в командной строке команду dir /?, выполняешь
2. читаешь про каждый параметр, думаешь
3. пишешь команду, которая с учетом параметров выведет список файлов(без доп.информации) в нужном порядке, выполняешь, убеждаешься что это то, что нужно.
4. вставляешь эту команду между кавычками вместо своего dir *.sql /O:D
5. меняешь %%G.log на %%i.log и устраняешь прочие возможные недочеты.
6. радуешься жизни
16 май 18, 15:53    [21414093]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить