2011-08-23 90 views
7

我想列出文件夹中的文件,但不包含子文件夹。 DIR使您能够列出特定类型的文件(隐藏,存档等),也只有文件夹,但我看不到如何列出文件。禁止使用DIR列出的目录名称

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

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

回答

11

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). 
+0

神奇。我确实阅读过帮助文件,但它已经过了漫长的一天!感谢您指出了这一点。 – RichGK

0

你可以使用:

dir /b /a-d 

这将打压被列出的目录。

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

 
/A   Displays files with specified attributes. 
attributes D Directories    R Read-only files 
      H Hidden files    A Files ready for archiving 
      S System files    I Not content indexed files 
      L Reparse Points    - Prefix meaning not 
0

你想要/A-D选项:

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

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

dir /b /s /a-d /p 

/p暂停

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