Windows command list all files in directory

Windows command list all files in directory

Displays a list of a directory’s files and subdirectories. If used without parameters, this command 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, this command displays the name extension and the size in bytes. This command also displays the total number of files and directories listed, their cumulative size, and the free space (in bytes) remaining on the disk.

The dir command can also run from the Windows Recovery Console, using different parameters. For more information, see Windows Recovery Environment (WinRE).

Syntax

Parameters

] Specifies the drive and directory for which you want to see a listing. [ ] 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. /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 Displays the listing in the same format as /w, but the files are sorted by column. /a[[:] ] Displays only the names of those directories and files with your specified attributes. If you don’t use this parameter, the command displays the names of all files except hidden and system files. If you use this parameter without specifying any attributes, the command displays the names of all files, including hidden and system files. The list of possible attributes values are:

  • d — Directories
  • h — Hidden files
  • s — System files
  • l — Reparse points
  • r — Read-only files
  • a — Files ready for archiving
  • i — Not content indexed files

You can use any combination of these values, but don’t separate your values using spaces. Optionally you can use a colon (:) separator, or you can use a hyphen (-) as a prefix to mean, «not». For example, using the -s attribute won’t show the system files. /o[[:] ] Sorts the output according to sortorder, which can be any combination of the following values:

  • n — Alphabetically by name
  • e — Alphabetically by extension
  • g — Group directories first
  • s — By size, smallest first
  • d — By date/time, oldest first
  • Use the prefix to reverse the sort order

Multiple values are processed in the order in which you list them. Don’t separate multiple values with spaces, but you can optionally use a colon (:).

If sortorder isn’t specified, dir /o lists the directories alphabetically, followed by the files, which are also sorted alphabetically. /t[[:] ] Specifies which time field to display or to use for sorting. The available timefield values are:

  • c — Creation
  • a — Last accessed
  • w — Last written
/s Lists every occurrence of the specified file name within the specified directory and all subdirectories. /b Displays a bare list of directories and files, with no additional information. The /b parameter overrides /w. /l Displays unsorted directory names and file names, using lowercase. /n Displays a long list format with file names on the far right of the screen. /x Displays the short names generated for non-8dot3 file names. The display is the same as the display for /n, but the short name is inserted before the long name. /c Displays the thousand separator in file sizes. This is the default behavior. Use /c to hide separators. /4 Displays years in four-digit format. /r Display alternate data streams of the file. /? Displays help at the command prompt.
Читайте также:  Ncstudio windows 10 x64

Remarks

To use multiple filename parameters, separate each file name with a space, comma, or semicolon.

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

You can use the wildcard character, *, to substitute for any string of characters, for example:

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 and with extensions that begin with .txt, such as .txt, .txt1, or .txt_old.

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

The asterisk wildcard always uses short file name mapping, so you might get unexpected results. For example, the following directory contains two files (t.txt2 and 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 by using its short name map T97B4

1.TXT. Similarly, typing del t97\* would delete both files.

You can 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 and are followed by up to three characters. This includes Read.txt, Read1.txt, Read12.txt, Read123.txt, and Readme1.txt, but not Readme12.txt.

If you use /a with more than one value in attributes, this command displays the names of only those files with all the specified attributes. For example, if you use /a with r and -h as attributes (by using either /a:r-h or /ar-h ), this command will only display the names of the read-only files that aren’t hidden.

If you specify more than one sortorder value, this command sorts the file names by the first criterion, then by the second criterion, and so on. For example, if you use /o with the e and -s parameters for sortorder (by using either /o:e-s or /oe-s ), this command 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.

If you use the redirection symbol ( > ) to send this command’s output to a file, or if you use a pipe ( | ) to send this command’s output to another command, you must use /a:-d and /b to only list the file names. You can use filename with /b and /s to specify that this command is to search the current directory and its subdirectories for all file names that match filename. This command 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 to send this command’s output to another command, you should set the TEMP environment variable in your Autoexec.nt file.

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:

The output lists the root directory, the subdirectories, and the files in the root directory, including extensions. This command also lists the subdirectory names and the 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:

To print a directory listing, type:

When you specify prn, the directory list is sent to the printer that is 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:

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

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

The dir command displays, in wide format, an alphabetized list of the matching file names in each directory, and it pauses each time the screen fills until you press any key to continue.

How to print list of Files in a Folder in Windows 10

If you ever need to print a list of files in a folder on your Windows 10/8/7 computer, here are a few ways you can do it. You can use the Command Prompt, Paint or a free software.

You can use any of the following methods to print a list of Files in a Folder in Windows 10.

  1. Run the Dir List command
  2. Use Paint software
  3. Use a freeware.

Let us see these methods in detail.

1] Using Command Prompt

Open the folder whose list of contents you want to print. Hold down Shift and right-click to open the hidden context menu items. You will see Open command window here. Click on it to open a command prompt window.

Else simply type CMD in the address bar and hit Enter to open the command prompt window there.

In the CMD type the following and press Enter:

A notepad text file will be immediately created in this folder. Open List.txt, and you will be able to see the list of the files in this folder.

Alternatively, you could also use the cd/ command to change the directory from the User directory to Downloads directory as follows:

2] Using Paint

Open the directory whos contents list you want to print. Select the Lists view. Press Alt+PrntScr. Next, open the built-in Paint application. Click Ctrl+V to copy-paste the contents of the clipboard here.

Now from the File menu of Paint select Print.

3] Use a freeware

You can print the name of every file on a drive, along with the file’s size, date and time of last modification, and attributes, Read-Only, Hidden, System, and Archive, with Karen’s Directory Printer. You can also sort the list of files by name, size, date created, date last modified, or date of last access. You can download it from its home page.

A) Simple File Lister does the function of DIR command for Windows OS to get a list of files in a directory and save them with their attributes to the user, in chosen .TSV, .CSV or .TXT formats, which you can then print. You can also select the File Attributes to be printed.

B) InDeep File List Maker lets you create and print a list of files in your folders, drives, and even in your DVDs/CDs.

D) Startup Discoverer is a portable freeware application, which lists start-up file & program locations and allows you to save and print them.

Command to list all files in a folder as well as sub-folders in windows

I tried searching for a command that could list all the file in a directory as well as subfolders using a command prompt command. I have read the help for «dir» command but coudn’t find what I was looking for. Please help me what command could get this.

6 Answers 6

The below post gives the solution for your scenario.

/S Displays files in specified directory and all subdirectories.

/B Uses bare format (no heading information or summary).

/O List by files in sorted order.

If you want to list folders and files like graphical directory tree, you should use tree command.

There are various options for display format or ordering.

Check example output.

Answering late. Hope it help someone.

An addition to the answer: when you do not want to list the folders, only the files in the subfolders, use /A-D switch like this:

An alternative to the above commands that is a little more bulletproof.

It can list all files irrespective of permissions or path length.

I have a slight issue with the use of C:\NULL which I have written about in my blog

But nevertheless it’s the most robust command I know.

If you simply need to get the basic snapshot of the files + folders. Follow these baby steps:

  • Press Windows + R
  • Press Enter
  • Type cmd
  • Press Enter
  • Type dir -s
  • Press Enter

Following commands we can use for Linux or Mac. For Windows we can use below on git bash.

List all files, first level folders, and their contents

List all first-level subdirectories and files

How to list files in a directory using the Windows API?

I have this code and it displays the folder with the directory itself and not its contents. I want to display its contents. I don’t want to use boost::filesystem.

How can I resolve this?

4 Answers 4

You got the directory because that’s what you asked for. If you want the files, ask for them:

(You can instead use *.* if you prefer, but apparently this only works because of a backwards compatibility hack so should probably be avoided. See comments and RbMm’s answer.)

Let me take some notes about «*.*» vs «*» . These filers are not equal.

2 different files can exist in our folder: somefile and somefile. .

If we used the low level api ZwQueryDirectoryFile with «*.*» as a search expression (this is the 10th parameter — FileName [in, optional] ) — we would get somefile. only. But if we used «*» we’d get both files — somefile and somefile.

If we try FindFirstFile(«C:\\semester2\\*.*», &data); we can note than both files somefile and somefile. are returned. So here «*.*» vs «*» have the same effect — no difference in usage.

Why does this happen? Because inside FindFirstFileEx in kernelbase ( kernel32 ) do special check for «*.*» mask and if it true — replace to «» (An empty name which have the same effect as «*» ).

I think this is done to fix a very common error when users pass «*.*» instead of the correct «*» and for backward compatability with legacy code.

. and .. aren’t actually part of the directory as it is stored on disk, but are added by the Win32 API.

This is not true.

  • for FAT -style file system this is really stored on FAT directory as 2 first entry.
  • in NTFS there are no such entries, but NTFS.sys artificially add this 2 entries if they in mask.

So this is done not at Win32 API level, but in kernel — on driver level.

In conclusion, «*.*» will work correct with Win32 API how minimum now — but the correct and clean way is to use «*» here.
«*.*» will be mistake with ZwQueryDirectoryFile api.

Оцените статью