我有一个按版本
命名的.sql文件列表 EG:
5.1.9.5.sql
5.2.1.5.sql
5.5.1.7.sql
5.10.6.2.sql
但是当使用:
循环它们时for %%i in (*.sql) do (
echo %%i
)
他们按以下顺序出现:
5.1.9.5.sql
5.10.6.2.sql
5.2.1.5.sql
5.5.1.7.sql
有没有办法让它们按照首先列出的顺序出来,就像windows文件系统一样?无需重命名所有文件。
答案 0 :(得分:1)
我设法通过按创建日期对文件进行排序来对问题进行排序。
for /f %%i in ('dir /b /o:d *.sql') do (
echo %%i
)
答案 1 :(得分:0)
如果您发现自己处于文件创建日期和文件上次修改日期都没有帮助的位置,那么您可以使用我的JSORT.BAT utility。它是一个混合JScript /批处理脚本,它有一个/ N选项,可以用数字而不是词法对数字进行排序。该实用程序是纯脚本,可以在XP之后的任何Windows机器上本机运行。
for /f %%F in ('dir /b /a-d *.sql^|jsort /n') do (
echo %%F
)