Copy a Directory Tree "Flat" – all files into one folder, no subfolders

Let’s say you have exported all families in a Revit project to a bunch of folders by Category, but you want to get them all into one folder so you can drag-drop and load them all into a new project all at once…

Copy the following into a batch file:

@echo off
set source=”E:tempEexport”
set destination=”E:tempEexport2″

::Not sure if this is needed
::It guarantees you have a canonical path (standard form)
for %%F in (%destination%) do set destination=”%%~fF”

for /r %source% %%F in (.) do if “%%~fF” neq %destination% ROBOCOPY “%%F” %destination% *.rfa /COPYALL /R:0

Now, change the text in red to suit your source and destination (my destination folder was empty).  Run the batch file and you should have a stack of RFAs all sitting in that folder.  Note: results may be a bit unpredictable if you have duplicates of particular files in the source directory tree.

Read more:
file – ROBOCOPY – Copy folders content to a single folder – Stack Overflow

0 0 votes
Article Rating
Notify of

Newest Most Voted
Inline Feedbacks
View all comments
Alfredo Medina
9 years ago

When we use the built-in tool "Save as… Library" > Families… the result is that all the families are saved into the same folder, without subfolders. What would be the difference in the result if somebody uses this routine?

Alfredo Medina
9 years ago

The bult-in tool for saving the project as library already puts all the families in one single folder. What would be the advantage of using this routine?

Luke Johnson
9 years ago

I had used the Case exporter, and it puts families into folders by category.

Sam William
3 years ago

Hello there,
Your post contains lots of valuable information. I used the Case exporter, and by category, it puts families in folders. Thanks for the post.