Dir

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Dir

Displays a list of a directory's files and subdirectories. Used without parameters, dir displays the disk's volume label and serial number, followed by a list of directories and files on the disk, including their names and the date and time each was last modified. For files, dir displays the name extension and the size in bytes. Dir also displays the total number of files and directories listed, their cumulative size, and the free space (in bytes) remaining on the disk.

Syntax

dir [Drive**:][Path][FileName] [...] [/p**] [/q] [/w] [/d] [/a[[:]Attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]

Parameters
  • [Drive:][Path]
    Specifies the drive and directory for which you want to see a listing.
  • [FileName]
    Specifies a particular file or group of files for which you want to see a listing.
  • /p
    Displays one screen of the listing at a time. To see the next screen, press any key on the keyboard.
  • /q
    Displays file ownership information.
  • /w
    Displays the listing in wide format, with as many as five file names or directory names on each line.
  • /d
    Same as /w but files are sorted by column.
  • /a[[:]Attributes]
    Displays only the names of those directories and files with the attributes you specify. If you omit /a, dir displays the names of all files except hidden and system files. If you use /a without specifying Attributes, dir displays the names of all files, including hidden and system files. The following list describes each of the values you can use for Attributes. The colon (:) is optional. Use any combination of these values, and do not separate the values with spaces.
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="header">
<th>Value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p><strong>h</strong></p></td>
<td><p>Hidden files</p></td>
</tr>
<tr class="even">
<td><p><strong>s</strong></p></td>
<td><p>System files</p></td>
</tr>
<tr class="odd">
<td><p><strong>d</strong></p></td>
<td><p>Directories</p></td>
</tr>
<tr class="even">
<td><p><strong>a</strong></p></td>
<td><p>Files ready for archiving</p></td>
</tr>
<tr class="odd">
<td><p><strong>r</strong></p></td>
<td><p>Read-only files</p></td>
</tr>
<tr class="even">
<td><p><strong>-h</strong></p></td>
<td><p>Files that are not hidden</p></td>
</tr>
<tr class="odd">
<td><p><strong>-s</strong></p></td>
<td><p>Files other than system files</p></td>
</tr>
<tr class="even">
<td><p><strong>-d</strong></p></td>
<td><p>Files only (not directories)</p></td>
</tr>
<tr class="odd">
<td><p><strong>-a</strong></p></td>
<td><p>Files that have not changed since the last backup</p></td>
</tr>
<tr class="even">
<td><p><strong>-r</strong></p></td>
<td><p>Files that are not read-only</p></td>
</tr>
</tbody>
</table>
  • /o[[:]SortOrder]
    Controls the order in which dir sorts and displays directory names and file names. If you omit /o, dir displays the names in the order in which they occur in the directory. If you use /o without specifying SortOrder, dir displays the names of the directories, sorted in alphabetic order, and then displays the names of files, sorted in alphabetic order. The colon (:) is optional. The following list describes each of the values you can use for SortOrder. Use any combination of the values, and do not separate these values with white spaces.
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="header">
<th>Value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p><strong>n</strong></p></td>
<td><p>In alphabetic order by name</p></td>
</tr>
<tr class="even">
<td><p><strong>e</strong></p></td>
<td><p>In alphabetic order by extension</p></td>
</tr>
<tr class="odd">
<td><p><strong>d</strong></p></td>
<td><p>By date and time, earliest first</p></td>
</tr>
<tr class="even">
<td><p><strong>s</strong></p></td>
<td><p>By size, smallest first</p></td>
</tr>
<tr class="odd">
<td><p><strong>g</strong></p></td>
<td><p>With directories grouped before files</p></td>
</tr>
<tr class="even">
<td><p><strong>-n</strong></p></td>
<td><p>In reverse alphabetic order by name (Z through A)</p></td>
</tr>
<tr class="odd">
<td><p><strong>-e</strong></p></td>
<td><p>In reverse alphabetic order by extension (.ZZZ through .AAA)</p></td>
</tr>
<tr class="even">
<td><p><strong>-d</strong></p></td>
<td><p>By date and time, latest first</p></td>
</tr>
<tr class="odd">
<td><p><strong>-s</strong></p></td>
<td><p>By size, largest first</p></td>
</tr>
<tr class="even">
<td><p><strong>-g</strong></p></td>
<td><p>With directories grouped after files</p></td>
</tr>
</tbody>
</table>
  • /t[[:]TimeField]
    Specifies which time field to display or use for sorting. The following list describes each of the values you can use for TimeField.
<table>
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<thead>
<tr class="header">
<th>Value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p><strong>c</strong></p></td>
<td><p>Creation</p></td>
</tr>
<tr class="even">
<td><p><strong>a</strong></p></td>
<td><p>Last access</p></td>
</tr>
<tr class="odd">
<td><p><strong>w</strong></p></td>
<td><p>Last written</p></td>
</tr>
</tbody>
</table>
  • /s
    Lists every occurrence, in the specified directory and all subdirectories, of the specified file name.
  • /b
    Lists each directory name or file name, one per line, including the file name extension. /b does not display heading information or a summary. /b overrides /w.
  • /l
    Displays unsorted directory names and file names in lowercase. /l does not convert extended characters to lowercase.
  • /n
    Displays a long list format with file names on the far right of the screen.
  • /x
    Displays the short names generated for files on NTFS and FAT volumes. The display is the same as the display for /n, but short names are displayed after the long name.
  • /c
    Displays the thousand separator in file sizes.
  • /4
    Displays four-digit year format.
  • /?
    Displays help at the command prompt.
Remarks
  • Using multiple FileName parameters

    You can use multiple FileName parameters. Separate file names with spaces, commas, or semicolons. You can use wildcard characters (that is, ? and *) in FileName to display a group of files.

  • Using wildcard characters

    You can use wildcard characters, such as an asterisk (*) or a question mark (?), to represent one or more characters of a file name and to display a subset of files or subdirectories.

    Asterisk (*): Use the asterisk as a substitute for any string of characters. For example, typing:

    • dir *.txt lists all files in the current directory with extensions that begin with .txt, such as .txt, .txt1, .txt_old.

    • dir read*.txt lists all files in the current directory that begin with "read" with extensions that begin with .txt, such as .txt, .txt1, .txt_old.

    • dir read*.* lists all files in the current directory that begin with "read" with any extension.

    Keep in mind that the asterisk wildcard always uses short file name mapping, so you might get unexpected results. For example, the following directory contains 2 files, t.txt2 and t97.txt:

    C:\test>dir /x
    Volume in drive C has no label.
    Volume Serial Number is B86A-EF32
    
    Directory of C:\test
    
    11/30/2004  01:40 PM    <DIR>                       .
    11/30/2004  01:40 PM    <DIR>                       ..
    11/30/2004  11:05 AM                 0 T97B4~1.TXT  t.txt2
    11/30/2004  01:16 PM                 0              t97.txt
    

    You might expect that typing dir t97* would return the file t97.txt. However, typing dir t97* returns both files, because the asterisk wildcard matches the file t.txt2 to t97.txt using its short name map T97B4~1.TXT. Similarly, typing del t97* would delete both files.

    Question mark (?): Use the question mark as a substitute for a single character in a name. For example, typing:

    • dir read???.txt lists any files in the current directory with the .txt extension that begin with "read" followed by up to three characters, including Read.txt, Read1.txt, Read12.txt, Read123.txt, and Readme1.txt, but not Readme12.txt.
  • Specifying file display attributes

    If you use /a with more than one value in Attributes, dir displays the names of only those files with all the specified attributes. For example, if you use /a with r and -h for attributes by using either /a:r-h or /ar-h, dir displays only the names of read-only files that are not hidden.

  • Specifying file name sorting

    If you specify more than one SortOrder value, dir sorts the file names by the first criterion first, then by the second criterion, and so on. For example, if you use /o with the e and -s values for SortOrder by using either /o:e-s or /oe-s, dir sorts the names of directories and files by extension, with the largest first, and then displays the final result. The alphabetic sorting by extension causes file names with no extensions to appear first, then directory names, and then file names with extensions.

  • Using redirection symbols and pipes

    When you use a redirection symbol (>) to send dir output to a file or a pipe (|) to send dir output to another command, use /a:-d and /b to list the file names only. You can use FileName with /b and /s to specify that dir is to search the current directory and its subdirectories for all file names that match FileName. Dir lists only the drive letter, directory name, file name, and file name extension, one path per line, for each file name it finds. Before you use a pipe for redirection, you should set the TEMP environment variable in your Autoexec.nt file.

  • Presetting dir parameters

    You can preset dir parameters by including set with the DIRCMD environment variable in your Autoexec.nt file. You can use any valid combination of dir parameters with set dircmd, including the location and name of a file.

    For example, to use the DIRCMD environment variable to set the wide display format (that is, /w) as the default format, type the following command in your Autoexec.nt file:

    set dircmd=/w

    For a single use of the dir command, you can override a parameter by using the DIRCMD environment variable. To do so, type the parameter that you want to override at the dir command prompt, preceding the parameter with a minus sign. For example:

    dir /-w

    To change the DIRCMD default settings, type:

    **set=**NewParameter

    The new default settings are effective for all subsequent dir commands until you use set dircmd again or until you restart your computer.

    To clear all default settings, type:

    set dircmd=

    To view the current settings of the DIRCMD environment variable, type:

    set

    Set displays a list of environment variables and their settings. For more information about setting environment variables, see Related Topics.

  • The dir command, with different parameters, is available from the Recovery Console.

Examples

To display all directories, one after the other, in alphabetical order, in wide format and pausing after each screen, make sure that the root directory is the current directory, and then type:

dir /s/w/o/p

Dir lists the name of the root directory, the names of the subdirectories of the root directory, and the names of the files in the root directory, including extensions. Then, dir lists the subdirectory names and file names in each subdirectory in the tree.

To alter the preceding example so that dir displays the file names and extensions, but omits the directory names, type:

dir /s/w/o/p/a:-d

To print a directory listing, type:

ir > prn

When you specify prn, the directory list is sent to the printer attached to the LPT1 port. If your printer is attached to a different port, you must replace prn with the name of the correct port.

You can also redirect output of the dir command to a file by replacing prn with a file name. You can also type a path. For example, to direct dir output to the file Dir.doc in the Records directory, type:

dir > \records\dir.doc

If Dir.doc does not exist, dir creates it, unless the Records directory does not exist. In that case, the following message appears:

File creation error

To display a list of all the file names with the .txt extension in all directories on drive C, type:

dir c:\*.txt /w/o/s/p

Dir displays, in wide format, an alphabetized list of the matching file names in each directory and pauses each time the screen fills up, until you press a key to continue.

Formatting legend

Format Meaning

Italic

Information that the user must supply

Bold

Elements that the user must type exactly as shown

Ellipsis (...)

Parameter that can be repeated several times in a command line

Between brackets ([])

Optional items

Between braces ({}); choices separated by pipe (|). Example: {even|odd}

Set of choices from which the user must choose only one

Courier font

Code or program output

See Also

Concepts

Command-line reference A-Z
Command shell overview
Attrib
Tree
Set
Using command redirection operators