The blog archives contain posts detailing how to list files in a folder (including subfolders) using VBA and legacy Excel 4 function. These posts receive a lot of search traffic through Google, so I know this is an area people are interested in. Using Power Query to list files in a folder is the easiest method of all. Therefore, in this post, I want to show you how to do this.
Table of Contents
Watch the video
Watch the video on YouTube.
Why is Power Query best to list files in a folder?
As noted above, other methods exist for listing files in a folder. However, those methods have some drawbacks:
- VBA Macros – The VBA code can become complex and too tricky for Excel users to understand.
- Excel 4 Macros – These are automation techniques originally found in Excel in the 1980s and 1990s. Microsoft no longer supports Excel 4 Macros, as VBA replaced them in 1995.
In comparison, Power Query has an easy-to-use, point-and-click user interface; there is no coding or complex techniques required. This makes it the perfect solution.
Power Query also has the added advantage of easily obtaining other file and folder attributes – file size, date created, date modified, etc. While some of these attributes are available using other solutions, they are not as easy to obtain or as comprehensive as Power Query.
List files in a folder (and sub-folders) with Power Query
Let’s start by looking at how to list the files in a folder using Power Query.
In Excel, click Data > Get Data > From File > From Folder.
Navigate to the folder, then click Open.
Depending on how many files are in the folder and subfolders, this may take some time.
A preview list of documents opens. Take a look; this is already starting to reveal some useful information.
Click Transform Data to open the Power Query Editor.
The Power Query Editor opens and shows the file attributes:
If we just want a single list of files in the folder, we need to combine the Name and Folder Path columns.
Select the Folder Path column, hold the Ctrl key, then click the Name column. Both columns should now be selected. The selection order is important as this determines how the text is combined.
Click Add Column > Merge Columns.
On the Merge Columns window:
- Choose separator as –None–
- Make the new column name Full File Path,
- Finally, click OK.
A new column is created with the complete file path.
We no longer need the other columns. With the Full File Path column selected, click Home > Remove Columns (drop-down) > Remove Other Columns.
The Preview window now shows only a list of the files and folders.
Click Home > Close and Load to push the data into Excel.
BOOM! How easy was that! We didn’t need to write a single line of code 😀.
List files in a folder, but not Subfolders
While working through the previous example, you may have noticed the output includes files in the selected folder AND subfolders.
But what if we only want the files from the folder? With a small change to the M code, we can achieve this too.
By default, Power Query users the Folder.Files function. This includes subfolders.
The M code formula for the Source step is:
All we need to do is change Folder.Files to Folder.Contents, and we’re done. Folder.Contents only looks at individual folders.
The Preview window should now only displays the files and folders in the selected folder.
BOOM! That was pretty easy too!
Listing file attributes
In the section above, we removed the file attributes. Instead, we may want to keep the file attributes.
When the data first loads, the available attributes are:
- Data accessed
- Date modified
- Date created
- Folder Path
This list is just the start; even more information is available in the Attributes column.
Click on the Expand icon in the header of the Attributes column, then click OK to see the full list file attributes.
I’m not going to lie… I have no idea what some of the attributes are. But contained within here is lots of information that I find very useful.
- Kind – the file type
- Size – the file size
- Read-only – whether the file is currently set to Read-Only
- Hidden – whether the file is visible
Imagine that your disk space is getting low. Using this method, you can quickly identify the largest file sizes, files that have not been opened recently, or duplicate file names. Once you have this list, you can decide what to keep and and what to delete.
Power Query is a useful and straightforward method to list files in a folder and also get attributes about those files.
I use this technique regularly to ensure automated processes export the expected files. With a single click refresh, the check is completed in seconds.
Read more posts in this series
- Introduction to Power Query
- Get data into Power Query – 5 common data sources
- DataRefresh Power Query in Excel: 4 ways & advanced options
- Use the Power Query editor to update queries
- Get to know Power Query Close & Load options
- Power Query Parameters: 3 methods
- Common Power Query transformations (50+ powerful transformations explained)
- Power Query Append: Quickly combine many queries into 1
- Get data from folder in Power Query: combine files quickly
- List files in a folder & subfolders with Power Query
- How to get data from the Current Workbook with Power Query
- How to unpivot in Excel using Power Query (3 ways)
- Power Query: Lookup value in another table with merge
- How to change source data location in Power Query (7 ways)
- Power Query formulas (how to use them and pitfalls to avoid)
- Power Query If statement: nested ifs & multiple conditions
- How to use Power Query Group By to summarize data
- How to use Power Query Custom Functions
- Power Query – Common Errors & How to Fix Them
- Power Query – Tips and Tricks
Discover how you can automate your work with our Excel courses and tools.
The complete program for saving time by automating Excel.
Excel Automation Secrets
Discover the 7-step framework for automating Excel.
Office Scripts: Automate Excel Everywhere
Start using Office Scripts and Power Automate to automate Excel in new ways.