2011-08-23 89 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