dir
command can be used to list the files from command prompt. This article explains the syntax for different usecases.
- A simple
dir
command without any other arguments lists all the files/subfolders that exist in the current folder.dir
- Lists the subfolders/files names in bare format.
dir /b
This command prints the file names. No other file meta data like file modified time, file size etc are not displayed.
- List the files in the current folder and also the ones in the subfolders recursively.
dir /s
Using wild cards with dir
Dir command accepts wild cards to display information only for the files that match the pattern specified. The below examples illustrate different use cases where we can use these wild cards
- List files of certain type or based on extension
For example to list all jpeg files in the current folder, we can run the below command.dir *.jpeg
To list all excel files
dir *.xls
We can even specify multiple extension in dir command to list files of any of the types. To list all files created with Office applications like Word, Excel, Powerpoint etc we can run below command.
dir *.docx *.xlsx *.pptx
- List files beginning/ending with specific pattern
List all files in the current folder whose names begin with ‘Picture-‘dir /S Picture-*
List file names based on type
dir command can list the file names and also the subfolders names. We can be selective and say that we want only names of the files to be listed or only the names of the subdirectories to be listed.
- List only directories
dir /A:D
- List only files
dir /A:-D
Display files based on file attributes
We can filter out which files should be listed in the dir
command output based on read-only, system, hidden archive file attributes.
- For example, to list read-only files in the current directory, the command is:
dir /A:R
- Similarly to display hidden files
dir /A:H
- For the opposite case of looking for files where an attribute is not set, we can append
'-'
to the attribute code. For example, to print the file names without archive attribute set, we can use the below command.dir /A:-A
- Exclude Read-only files from the listing.
dir /A:-R
- Exclude hidden files from listing.
dir /A:-H
- Exclude system files from listing
dir /A:-S
Print metadata of files using dir command
- Find out who owns a file
dir /Q
Example:
c:\>dir /Q 1.txt 05/03/2015 01:12 AM 151,906 BUILTIN\Administrators 1.txt
The above result of dir indicates that file 1.txt is owned by Administrators group.
- Get created time of a file
dir /TC
- Find last accessed time of a file
dir /TA
- Find last modified time of a file
dir /TW
How to get absolute path using command prompt ?
dir /s /b
would print absolute path.I want to list all the empty subdirectories in a folder and then delete them. How do I do that using dir command
Is it possible to get dir to print paths with spaces in a directory name?
Answered the question… Now the real problem: Have a command that gives “failed to load external entity” for a file inside a directory with a space. Here’s the command:
for /F %i in (‘dir /s /b D:\YourDirectory\filepath\Folio.xml’) do (C:\progra~1\xmlstarlet\xml.exe ed –inplace -d “//overlay[data/webViewUrl[contains(text(),’shopthis.mastercard’)]]” %i)
Your help is appreciated!
Is it possible to get the file icon with dir cmd?
I would like to list files and extract icon to show them in my application.
I would like to get the last modified time stamp of the latest file in the directory like just the date and time field values alone into different variables. Something similar to using awk, cut commands in Unix.
Special danish characters
I routinely use
dir /o /w > files.txt
to create a text file containing the file names in a folder. I can easily edit that file for use as a table of content for the audio newspaper hosted on our site. The file names are so long, that dir lists them in one column, which is perfect.
BUT: The files have danish special letters æ (html: æ) – ø (ø) – å (å) and their uppercase counterparts, Æ, Ø, Å. These come out wrong with the dir command, and have to be edited manually.
Q: Is there a way to make the dir command output these letters correctly? (Windows 7 Pro, Danish version, computer is NOT connected to the internet…)
/Mads Hansen
you must launch/start/load the CMD tool like “cmd /U” then use again what you were trying
How do you list additional attributes to include not only the file name but also the date, type, and size of the file? Thank you.
Hello,
how can I create a text file list of the contents of a folder and hide the file extensions?
I already have my list of filenames in a file using “dir /b > Songs.xls”, but after every filename in the Songs.xls I still see the extention “.mp3” and I would like this to be removed from the filename.
THX in advance,
Dirkio
Hi,
Thanks for the article
Is there any way to get a list of created date : modified date and access date in one output?
Get created time of a file
dir /TC
Find last accessed time of a file
dir /TA
Find last modified time of a file
dir /TW
What if I want to list the filenames from another folder?
When I type dir /e:-d /b , I get an error message that it cannot find e:
Same with dir e: /b and dir /e: /b .
Dir doesn’t seem to work with other folder designations.
I want to take the path from dir filename /s /p and use it to start the program from that path. Is it possible? And if yes could you tell me how.
I am using Windows 10.
I have chosen the 24 hour format HH:mm for time.
And indeed, when use file explorer to examine the contents of a folder, the times
of the files appear in this format.
But when I use the command prompt cmd
and then give the command dir
the times appear in the 12 hour format hh:mm followed by AM or PM.
What can I do so that when I give the dir command the times of the files
will be in the 24 hour format HH:mm
?
Thanks for your help.
How can I modify this command to create filelist.txt only if .pdf files are present
dir *.pdf /b /a:-d /o:n > filelist.txt
have a directory with the following files:
proc-0000.txt
proc-0001.txt
proc-0002.txt
proc-0003.txt
if i enter “dir *3.*” i get an unexpected return:
proc-0002.txt
proc-0003.txt
why?
if i had these files:
proc-000.txt
proc-001.txt
proc-002.txt
proc-003.txt
and enter ” dir *3.*” i only get (as expected):
proc-003.txt
what is going on with tht dir command?
dir /s no longer works correctly. If the directory doesn’t exist, dir /s now finds other directories near by and displays them, but doesn’t list them.
For instance:
dir /s \Scripts\PyScripts\work
shows:
Volume in drive T is WB10TB
Volume Serial Number is 8C30-2523
Directory of T:\Scripts\PyScripts\Keep_Old_Stuff\Scripts\Perl\Scripts\PerlProgs
10/19/2019 03:57 PM work
0 File(s) 0 bytes
Total Files Listed:
0 File(s) 0 bytes
1 Dir(s) 3,967,826,636,800 bytes free
Extract Web server content:
Web server admin needs to run this one command for each website to extract its structure:
Windows based web servers: dir /S /B /O *.* >> replace_with_Server_Name_website_name.txt
How to use this command
Hi , thank you!
I think this was not yet addressed:
How would i include a specific file extension when i also specify a folder, e.g.
dir /b /s /a-d “C:\Users\peter\many LAZ and LAS files folder\” > “File List.txt”
Where would i put the *.LAZ expression, if i only want the LAZ files in this directory to be printed in the output list?
Thx, Peter
Hi , thank you!
I think this was not yet addressed:
How would i include a specific file extension when i also specify a folder, e.g.
dir /b /s /a-d “C:\Users\peter\many LAZ and LAS files folder\” > “File List.txt”
Where would i put the *.LAZ expression, if i only want the LAZ files in this directory to be printed in the output list?
Thx, Peter
how i can add the time stamp to /s/b
when the files were accessed