Batch file 无法按排序顺序获取子文件夹

Batch file 无法按排序顺序获取子文件夹,batch-file,cmd,directory,subdirectory,Batch File,Cmd,Directory,Subdirectory,我们在其中使用了部署cmd文件 dir/s/od/b当前\*.sql 它在99.sql之前运行良好,但是当我们引入100.sql时,100.sql在99.sql之前运行。如何更正排序顺序?100.sql是在99.sql之后创建的,因此/od应该在100.sql之前列出99.sql。 所以,请帮助我如何获得正确的订单 最简单的方法是将所有数字归零,即61变为0061,但这也需要对旧文件执行此操作 否则,您可以自然地对文件进行排序;这里似乎有一个答案 试试看 for /f "delims=" %%a

我们在其中使用了部署cmd文件
dir/s/od/b当前\*.sql
它在99.sql之前运行良好,但是当我们引入100.sql时,100.sql在99.sql之前运行。如何更正排序顺序?100.sql是在99.sql之后创建的,因此/od应该在100.sql之前列出99.sql。 所以,请帮助我如何获得正确的订单


最简单的方法是将所有数字归零,即
61
变为
0061
,但这也需要对旧文件执行此操作

否则,您可以自然地对文件进行排序;这里似乎有一个答案

试试看

for /f "delims=" %%a in ('dir /b /od /ad "current*"') do if exist "current\%%a\*.sql" dir /s /b /od "current\%%a\*.sql" 

这应该首先以日期顺序(
/od
)扫描
current
,查找目录名(
/ad
),然后查找与“current*namefound**.sql”匹配的文件,并列出是否存在的文件。

从控制台窗口复制和粘贴文本,然后发布屏幕截图要容易得多。