【发布时间】:2011-08-23 16:15:29
【问题描述】:
我想列出文件夹中的文件,而不是子文件夹。 DIR 使您可以列出特定类型的文件(隐藏、存档等)以及仅文件夹,但我看不到如何仅列出文件。
我需要以下语句来返回文件以进行进一步处理,但是文件夹名称搞砸了!
for /f %%a in ('dir /b %csvPath%') do (
)
【问题讨论】:
我想列出文件夹中的文件,而不是子文件夹。 DIR 使您可以列出特定类型的文件(隐藏、存档等)以及仅文件夹,但我看不到如何仅列出文件。
我需要以下语句来返回文件以进行进一步处理,但是文件夹名称搞砸了!
for /f %%a in ('dir /b %csvPath%') do (
)
【问题讨论】:
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).
【讨论】:
你可以使用:
dir /b /a-d
这将禁止列出目录。
/A 开关还有一些其他选项可以帮助过滤:
【讨论】:
dir /b /s /a-d
/s 列出每个目录和所有包含文件的子目录,并且 (a-d) 没有空目录。
dir /b /s /a-d /p
/p暂停
dir /b /s /a-d > list.txt
【讨论】:
使用dir /B /A-D 仅获取文件。
【讨论】:
您想要/A-D 选项:
for /f %%a in ('dir /A-D /b %csvPath%') do ( )
【讨论】: