Requirements
I’m looking for a way to create folders with this behavior:
- All content of
folder Aautomatically appears withinfolder B - Changes in
folder A(creating, modifying, deleting) are immediately reflected infolder B. folder Bcan 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 /Dpointing 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.