Как сделать так, чтобы цикл в пакетном файле Windows запускался в порядке имен

У меня есть пакетный файл Windows, который делает это:

for %%s in (*.sql) do call

It loops through all the sql script in a folder.

In the folder the file names are like:
s4.06.01.sql
s4.07.01.sql
s4.08.01.sql
s4.10.01.sql
s5.01.sql

Но цикл for проходит файлы случайным образом (не в порядке имен), сначала он запускает s5.01, затем s4.06, затем s4 .08, затем с4.10, затем с4.07. Как я могу заставить их работать в порядке имен?

Раньше это работало, но теперь это не так. Что может вызвать эту проблему?

9
задан codaddict 31 August 2010 в 06:27
поделиться

1 ответ

Если память не изменяет, она будет работать с файлами в том порядке, в котором они возвращаются файловой системой. Таким образом, если вы запустите его на разделе диска, отформатированном в NTFS, имена будут возвращены в отсортированном порядке, поэтому они будут обрабатываться в отсортированном порядке. Если раздел диска отформатирован в FAT или FAT32, имена будут извлекаться (и обрабатываться) в более или менее случайном порядке.

2
ответ дан 4 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: