Requirements
I’m looking for a way to create folders with this behavior:
- All content of
folder A
automatically appears withinfolder B
- Changes in
folder A
(creating, modifying, deleting) are immediately reflected infolder B
. folder B
can retain its own unique content unaffected by this system
Attempted Solutions
- OverlayFS – This is the ideal solution, but only works on Linux not Windows
- symlink / junction – If I make folder B with
mklink /D
pointing to folder A this meets requirements #1 and #2, but then it can’t diverge from folder A and doesn’t meet #3 - Libraries – Doesn’t meet requirement #3 and can’t act as a folder (ie. exist at a specific location on the file system)
- FreeFileSync – This tool syncs folders by comparing their content and copying any new/changed files between them. Automating this involves repeatedly executing a script via Task Scheduler. This has performance issues with large frequently-changing files, and also doesn’t solve requirement #3.
- RoboCopy – Same problems as FreeFileSync.
- Custom Script – This is what I currently do. I have a Python script iterate over the top level contents of folder A then create symlinks to it in folder B while maintaining a list of them in JSON, then deleting them on the next run if they no longer exist in folder A. I’m looking for a better solution.
Motivation
I want this for cases where files/folders need to appear in a certain place but I want to keep them elsewhere for easy editing, backups, and git tracking. For example Git Bash needs .bashrc
in ~
to work, but I want to keep it and its dependencies in C:_MyFileshome_config
, so I want that folder’s contents to appear inside ~
. Similarly, I want files under both C:_MyFilesportable_apps
and C:_MyFilesnotes
to appear on my desktop.
I found some related questions below but the answers are very old or don’t meet my needs.