Get our FREE VBA eBook of the 30 most useful Excel VBA macros.

Automate Excel so that you can save time and stop doing the jobs a trained monkey could do.

Claim your free eBook


List files in a folder & subfolders with Power Query

Power Query - Files in a FolderPower Query - Files in a Folder

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.

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.

Get Data 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.

Preview list of files in the folder

Click Transform Data to open the Power Query Editor.

The Power Query Editor opens and shows the file attributes:

Power Query Preview Window

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.

Add Column - Merge Columns

On the Merge Columns window:

  • Choose separator as –None–
  • Make the new column name Full File Path,
  • Finally, click OK.
Merge Columns Dialog Box

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.

Remove other columns

The Preview window now shows only a list of the files and folders.

Full File Path list in Power Query Preview Window

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.

Source step showing Folder.Files M code function

The M code formula for the Source step is:

= Folder.Files("C:\Users\marks\........\Documents")

All we need to do is change Folder.Files to Folder.Contents, and we’re done. Folder.Contents only looks at individual folders.

= Folder.Contents("C:\Users\marks\........\Documents")

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:

  • Name
  • Extension
  • Data accessed
  • Date modified
  • Date created
  • Folder Path

This list is just the start; even more information is available in the Attributes column.

Expand 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.

Wrap-up

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.

Power Query Series Contents

  1. Introduction
  2. Import Data
  3. Data Refresh
  4. Edit Queries
  5. Close & Load Options
  6. Using Parameters
  7. Basic Transformations
  8. Combine / Append Queries
  9. Import All Files in a Folder
  10. List All the Files in a Folder and File Attributes
  11. Import Data from the Current Workbook
  12. Import Data from the Web
  13. Unpivot Data
  14. Unstacking Data in a Column
  15. Lookup Values using Merge
  16. Change the Source Data Location
  17. Formulas
  18. If Statements for Conditional Logic
  19. Grouping and Summarizing Data
  20. Custom Functions
  21. Common Errors & How to Fix Them
  22. Tips and Tricks


Get our FREE VBA eBook of the 30 most useful Excel VBA macros.

Automate Excel so that you can save time and stop doing the jobs a trained monkey could do.

Claim your free eBook


Don’t forget:

If you’ve found this post useful, or if you have a better approach, then please leave a comment below.

Do you need help adapting this to your needs?

I’m guessing the examples in this post didn’t exactly meet your situation.  We all use Excel differently, so it’s impossible to write a post that will meet everybody’s needs.  By taking the time to understand the techniques and principles in this post (and elsewhere on this site) you should be able to adapt it to your needs.

But, if you’re still struggling you should:

  1. Read other blogs, or watch YouTube videos on the same topic.  You will benefit much more by discovering your own solutions.
  2. Ask the ‘Excel Ninja’ in your office.  It’s amazing what things other people know.
  3. Ask a question in a forum like Mr Excel, or the Microsoft Answers Community.  Remember, the people on these forums are generally giving their time for free.  So take care to craft your question, make sure it’s clear and concise.  List all the things you’ve tried, and provide screenshots, code segments and example workbooks.
  4. Use Excel Rescue, who are my consultancy partner.   They help by providing solutions to smaller Excel problems.

What next?
Don’t go yet, there is plenty more to learn on Excel Off The Grid.  Check out the latest posts:


One thought on “List files in a folder & subfolders with Power Query

Leave a Reply

Your email address will not be published.