【问题标题】:Unable to get sub folders in sorted order无法按排序顺序获取子文件夹
【发布时间】:2018-02-22 14:57:55
【问题描述】:

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

【问题讨论】:

  • 从控制台窗口复制和粘贴文本然后发布屏幕截图更容易。

标签: batch-file cmd directory subdirectory


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    试试

    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”的文件并列出是否存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 2011-03-27
      • 2021-12-24
      相关资源
      最近更新 更多