【问题标题】:Suppress directory names being listed with DIR禁止使用 DIR 列出目录名称
【发布时间】:2011-08-23 16:15:29
【问题描述】:

我想列出文件夹中的文件,而不是子文件夹。 DIR 使您可以列出特定类型的文件(隐藏、存档等)以及仅文件夹,但我看不到如何仅列出文件。

我需要以下语句来返回文件以进行进一步处理,但是文件夹名称搞砸了!

for /f %%a in ('dir /b %csvPath%') do (
)

【问题讨论】:

    标签: windows cmd


    【解决方案1】:

    dir /b /a-d 会给你没有目录的文件。注意/a-d 之间没有空格。 '-' 表示“NOT”目录。

    来自dir /?的帮助信息:

      /A          Displays files with specified attributes.
      attributes   D  Directories                R  Read-only files
                   H  Hidden files               A  Files ready for archiving
                   S  System files               -  Prefix meaning not
      /B          Uses bare format (no heading information or summary).
    

    【讨论】:

    • 太棒了。我确实阅读了帮助文件,但这是在漫长的一天结束时!感谢您指出这一点。
    • 我们也可以忽略结果中的文件扩展名吗?
    【解决方案2】:

    你可以使用:

    dir /b /a-d
    

    这将禁止列出目录。

    /A 开关还有一些其他选项可以帮助过滤:

    /A 显示具有指定属性的文件。 属性 D 目录 R 只读文件 H 隐藏文件 A 准备归档的文件 S 系统文件 I 不包含索引文件 L Reparse Points - 前缀意思不是

    【讨论】:

      【解决方案3】:
      dir /b /s /a-d
      

      /s 列出每个目录和所有包含文件的子目录,并且 (a-d) 没有空目录。

      dir /b /s /a-d /p
      

      /p暂停

      dir /b /s /a-d > list.txt
      

      【讨论】:

        【解决方案4】:

        使用dir /B /A-D 仅获取文件。

        【讨论】:

          【解决方案5】:

          您想要/A-D 选项:

          for /f %%a in ('dir /A-D /b %csvPath%') do ( )
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-17
            • 2011-02-11
            • 2020-04-30
            • 2021-05-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多