The Download
- The dir command shows a list of files and folders within a specific folder in Windows.
- You can use the dir command with options to see hidden items or search for specific file types.
- The dir command works in Command Prompt on all Windows versions, even old ones like Windows XP.
The dir command is a Command Prompt command used to display a list of files and subfolders within a folder.
By default, for each file or folder listed, the command shows the date and time the item was last changed, whether the item is a folder (labeled with DIR) or file, the size of the file if applicable, and the name of the file or folder, including the file extension.
Beyond the file and folder list, the dir command also displays the current drive letter of the partition, the volume label, volume serial number, total number of files listed, total size of those files in bytes, the number of subfolders listed, and the total bytes remaining free on the drive.
Dir Command Availability
The dir command is available in the Command Prompt across all Windows operating systems, including Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP.
Older versions of Windows also include the dir command but with fewer options than listed below. The dir command is a DOS command, available in all versions of MS-DOS.
The dir command can be found in offline Command Prompt versions, like those in Advanced Startup Options and System Recovery Options. It is also included in the Recovery Console in Windows XP.
The availability of certain dir command switches and other syntax may differ between operating systems.
Dir Command Syntax
dir [drive:][path][filename] [/a[[:]attributes]] [/b] [/c] [/d] [/l] [/n] [/o[[:]sortorder]] [/p] [/q] [/r] [/s] [/t[[:]timefield]] [/w] [/x] [/4]
See How to Read Command Syntax if you’re unsure how to interpret the dir command syntax as written above or shown in the table below.
| Dir Command Options | |
|---|---|
| Item | Explanation |
| drive:, path, filename | This is the drive, path, and/or filename that you want to see results for. All three are optional since the command can be executed alone. Wildcards are allowed. See the Dir Command Examples section below if this isn't clear. |
| /a | When executed alone, this switch shows all types of files and folders, including those with file attributes that typically prevent them from showing up in Command Prompt or in Windows. Use /a with one or more of the following attributes (colon is optional, no spaces needed) to show only those types of files in the command result: a = archive files d = directories h = hidden files i = not content indexed files l = reparse points r = read-only files s = system files v = integrity files x = no scrub files - = Use this as a prefix to any of the above attributes to exclude items with those file attributes from the results. |
| /b | Use this option to show the dir results using "bare" format, which removes the typical header and footer information, as well as all the details on each item, leaving only the directory name or file name and extension. |
| /c | This switch forces the use of the thousands separator when the command is used in a way that shows file sizes. This is the default behavior on most computers, so the practical use is /-c to disable the thousands separator in results. |
| /d | Use /d to limit the items displayed to just folders (contained within brackets) and file names with their extensions. Items are listed top-to-bottom and then across columns. Standard dir command header and footer data remain the same. |
| /l | Use this option to show all folder and file names in lowercase. |
| /n | This switch produces a result with columns in the date > time > directory > file size > file or folder name column structure. Since this is the default behavior, the practical use is /-n which produces columns in the file or folder name > directory > file size > date > time order. |
| /o | Use this option to specify a sort order for the results. When executed alone, /o lists directories first, followed by files, both in alphabetical order. Use this option with one or more of the following values (colon is optional, no spaces needed) to sort the dir command result in the specified manner: d = sort by date/time (oldest first) e = sort by extension (alphabetical) g = group directory first, followed by files n = sort by name (alphabetical) s = sort by size (smallest first) - = Use this as a prefix with any of the above values to reverse the order (-d to sort by newest first, -s for largest first, etc.). |
| /p | This option displays the results one page at a time, interrupted with a Press any key to continue... prompt. Using /p is very similar to using the dir command with the more command. |
| /q | Use this switch to display the owner of the file or folder in the results. The easiest way to view or change a file's ownership from within Windows is via the Advanced button in the Security tab when looking at the file's Properties. |
| /r | The /r option shows any alternate data streams (ADS) that are part of a file. The data stream itself is listed in a new row, under the file, and is always suffixed with $DATA, making them easy to spot. |
| /s | This option shows all the files and folders in the specified directory plus all of the files and folders contained within any subdirectories of that specified directory. |
| /t | Use this option with one of the values below (colon is optional, no spaces needed) to specify a time field to be used when sorting and/or displaying results: a = last access c = created w = last written |
| /w | Use /w to show results in "wide format" which limits the items displayed to just folders (contained within brackets) and file names with their extensions. Items are listed left-to-right and then down rows. Standard dir command header and footer data remain the same. |
| /x | This switch shows the "short name" equivalent for files whose long names don't comply with non-8dot3 rules. |
| /4 | The /4 switch forces the use of 4-digit years. At least in newer versions of Windows, the 4-digit year display is the default behavior and /-4 doesn't result in a 2-digit year display. |
| /? | Use the help switch with the dir command to show details about the above options directly in the Command Prompt window. Executing dir /? is the same as using the help command to execute help dir. |
Given the volume of information the dir command typically returns, it's often a good idea to save it all to a text file using a redirection operator is usually a smart idea. See How to Redirect Command Output to a File for details on how to do this.
Dir Command Examples
Here are some different ways you can use the dir command:
Run Without Switches
dir
In this example, the dir command is used alone, without any drive, path, filename specifications, or switches, producing a result like this:
C:\>dirVolume in drive C has no label.Volume Serial Number is F4AC-9851Directory of C:\09/02/2015 12:41 PM$SysReset05/30/2016 06:22 PM 93 HaxLogs.txt05/07/2016 02:58 AM PerfLogs05/22/2016 07:55 PM Program Files05/31/2016 11:30 AM Program Files (x86)07/30/2015 04:32 PM Temp05/22/2016 07:55 PM Users05/22/2016 08:00 PM Windows05/22/2016 09:50 PM Windows.old1 File(s) 93 bytes
The dir command was executed from the root directory of C (i.e., C:\>). Without specifying a location to list the contents from, the command defaults to displaying information from where it was executed.
List Hidden Items
dir c:\users /ah
In the above example, we're instructing the dir command to show results from the drive: and path of c:\users, not from the location we're running the command from. We're also specifying, via the /a switch with the h attribute, that we want to see only hidden items, resulting in something like this:
C:\>dir c:\users /ahVolume in drive C has no label.Volume Serial Number is F4AC-9851Directory of c:\users05/07/2016 04:04 AM All Users [C:\ProgramData]05/22/2016 08:01 PMDefault05/07/2016 04:04 AM Default User [C:\Users\Default]05/07/2016 02:50 AM 174 desktop.ini1 File(s) 174 bytes
The small list of directories and the single file in the result above doesn't represent the entire c:\users folder—just the hidden files and folders. To see all files and folders, you would execute dir c:\users /a (removing the h) instead.
Search for File In Any Folder
dir c:\*.csv /s /b > c:\users\tim\desktop\csvfiles.txt
In this more complex yet practical example for the dir command, we're requesting a search of the entire hard drive for CSV files and then outputting the bare minimum results to a text document. Let’s break it down:
- c:\*.csv tells the dir command to look for all files (*) ending with the CSV (.csv) extension in the root of the c: drive.
- /s instructs the command to search beyond the root of c:, looking for such files in every folder at all depth levels.
- /b excludes everything but the path and file name, effectively creating a readable list of these files.
- > is a redirection operator, which means "send to" a specified destination.
- c:\users\tim\desktop\csvfiles.txt is the destination for the > redirector, meaning results will be written to the csvfiles.txt file rather than in Command Prompt, which will be created at the c:\users\tim\desktop location (i.e., the Desktop when you’re logged in).
When you redirect command output to a file, as done in this dir command example, Command Prompt doesn't display anything. However, the exact output you would have seen is instead located inside that text file. Here's what our csvfiles.txt looked like after the dir command completed:
c:\ProgramData\Intuit\Quicken\Inet\merchant_alias.csvc:\ProgramData\Intuit\Quicken\Inet\merchant_common.csvc:\Users\All Users\Intuit\Quicken\Inet\merchant_alias.csvc:\Users\All Users\Intuit\Quicken\Inet\merchant_common.csvc:\Users\Tim\AppData\Roaming\condition.2.csvc:\Users\Tim\AppData\Roaming\line.csvc:\Users\Tim\AppData\Roaming\media.csv
While you could skip file redirection and even the "bare format" switch, the results would be challenging to work with in the Command Prompt window, making it hard to find what you were looking for.
Related Commands
The dir command is often used with the del command. After using dir to identify the name and location of file(s) in a folder, del can delete files directly from the Command Prompt.
Similarly, the rmdir /s command, and older deltree command, are used to delete folders and files. The rmdir command (without the /s option) is useful for deleting empty folders found with the dir command.
As mentioned, the dir command is often used with a redirection operator.