Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress directory names being listed with DIR

Tags:

windows

cmd

I want to list the files in a folder but not sub-folders. DIR enables you to list specific types of files (hidden, archive ready etc) and also only folders but I cannot see how to list only files.

I need the following statement to return files for further processing, but folder names are messing things up!

for /f %%a in ('dir /b %csvPath%') do (
)
like image 362
RichGK Avatar asked Aug 23 '11 16:08

RichGK


4 Answers

dir /b /a-d will give you files without directories. Note there is no space between /a-d. The '-' says "NOT" directories.

From the dir /? help information:

  /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).
like image 85
JJ. Avatar answered Oct 03 '22 08:10

JJ.


dir /b /s /a-d

/s lists every directory and all subdirectories containing files, and (a-d) without empty directories.

dir /b /s /a-d /p

/p pause

dir /b /s /a-d > list.txt
like image 41
Leonardo Lopez Avatar answered Oct 03 '22 09:10

Leonardo Lopez


You could use:

dir /b /a-d

Which will suppress directories being listed.

The /A switch has a few other options to assist with filtering:

/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
like image 26
Kev Avatar answered Oct 03 '22 10:10

Kev


Use dir /B /A-D to get files only.

like image 34
FishBasketGordo Avatar answered Oct 03 '22 08:10

FishBasketGordo