A windows utility to fold multiple directories into one.
C++
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
main.cpp

README.md

foldir

A windows utility to fold multiple directories into one. Using the power of the file system for configuration and NTFS hard links.

A NTFS hard link is like making a copy of a file without copying the data, it is another reference to the data.

Simply place the executable in a directory with one or more subdirectories, and run.

It places all the content of the subdirectories into a subdirectory named "output".

For example, If you had a tree like this

  • 0 - Base
    • a file.txt
    • run.exe
    • api.dll
  • 1 - Update 1
    • another file.txt
    • run.exe
  • 2 - Update 2
    • a file.txt
  • 3 - Customization
    • another file.txt

output would be:

  • another file.txt (from 3 - Customization)
  • a file.txt (from 2 - Update 2)
  • run.exe (from 1 - Update 1)
  • api.dll (from 0 - Base)

Here, I used numbers to prefix the subdirectories to make sure foldir ordered the files in the way I wanted.

control

There are 3 ways to control the way foldir functions, disabling a subdirectory, instructing it to ignore files and directories in a subdirectory, and making it do a real copy instead of a hard link.

To disable a subdirectory, make sure it has the word "disable" as the first 7 characters

To ignore some contents of a subdirectory, make a file called "ignore" and put in the names there.

To force foldir to do a real copy, make a file called "copy" and put the file paths in there.