Display a list of files and subfolders

Syntax DIR [pathname(s)] [display_format] [file_attributes] [sorted] [time] [options]

Key [pathname] The drive, folder, and/or files to display,

this can include wildcards:

* Match any characters

? Match any ONE character

[display_format] /P Pause after each screen of data. /W Wide List format, sorted horizontally. /D Wide List format, sorted by vertical column.

[file_attributes] /A:

/A:D Folder /A:-D NOT Folder /A:R Read-only /A:-R NOT Read-only /A:H Hidden /A:-H NOT Hidden /A:A Archive /A:-A NOT Archive /A Show all files

several attributes may be combined e.g. /A:HD-R

[sorted] Sorted by /O:

/O:N Name /O:-N Name

/O:S file Size /O:-S file Size /O:E file Extension /O:-E file Extension

/O:D Date & time /O:-D Date & time /O:G Group folders first /O:-G Group folders last several attributes may be combined e.g. /O:GEN

[time] /T: the time field to display & use for sorting

/T:C Creation /T:A Last Access /T:W Last Written (default)

[options] /S include all subfolders. /R Display alternate data streams. (Vista only) /B Bare format (no heading, file sizes or summary). /L use Lowercase. /Q Display the owner of the file. /N long list format where filenames are on the far right. /X As for /N but with the short filenames included.

/C Include thousand separator in file sizes.

/-C don't include thousand separator in file sizes. /4 Display four-digit years

The switches above may be preset by adding them to an environment variable called DIRCMD.

For example: SET DIRCMD=/O:N /S

Override any preset DIRCMD switches by prefixing the switch with -

For example:

DIR *.* /-S

Upper and Lower Case filenames:

Filenames longer than 8 characters - will always display the filename with mixed case as entered.

Filenames shorter than 8 characters - may display the filename in upper or lower case - this may vary from one client to another (registry setting)

To obtain a bare DIR format (no heading or footer info) but retain all the details, pipe the output of DIR into FIND, this assumes that your date separator is /

DIR c:\temp\*.* | FIND "/" FOR /f "tokens=*" %%G IN ('dir c:\temp\*.* ^| find "/"') DO echo %%G

Normally DIR /b will return just the filename, however when displaying subfolders with DIR /b /s the command will return a full pathname.

Checking filesize during a download (to monitor progress of a large download)

TYPE file_being_downloaded >NUL DIR file_being_downloaded

Since TYPE won't lock the file_being_downloaded in any way, this doesn't pose a threat to the download itself.

"There it was, hidden in alphabetical order" - Rita Holt


WHERE - Locate and display files in a directory tree.

XCOPY /L - List files without copying.

ROBOCOPY /L - List files with specific properties

DIRUSE - show size of multiple subfolders. (Resource Kit)

Freedisk.exe - check free disk space. (Win 2K ResKit)

Powershell: Get-ChildItem - Get child items (contents of a folder or registry key) dir / ls / gci

You can also get File Sizes and Date/Time from Windows 2000/XP Batch Parameters

Use DIR to display drive status - disk missing / ready / empty

Q226370 - Browsing LAN directories is slow

Equivalent bash command (Linux): ls - List information about file(s)