As can be seen from other questions across the Internet and right here on SuperUser (e.g. Keep programs from using My Documents), Windows users find it very annoying that programs decide for themselves to add their own folders to the user Documents folder.
The user's Documents folder, like her Music or Pictures folder, is for her personal files, to be managed and structured and organised in a way that makes sense to her alone. So many programs dump their files in here, it can quickly become impossible to find your own actual documents.
If you scour the Internet, and SuperUser, you will find the following varying advice, all of which are non-solutions to the question: How can I stop this from happening?
- Move your Documents folder somewhere else, then create a new folder the system doesn't know is actually what you'll use for your documents. (No good: I want the system to know where I store my documents, for all the other times this is useful.)
- Put all your actual documents inside a subfolder inside the Documents folder. (No good: why should I always have to dig one level in to get to my documents, and have to wade past all the spam folders at the main level?)
- Manually clean up the folder periodically. (No good: that will break a lot of those programs.)
- Various methods to prevent unauthorised folder creation. (No good: that will break a lot of those programs.)
- Run programs in a VM. (No good: overkill for 99% of scenarios.)
- Don't use those programs. (No good: I need to use those programs.)
Finally you may arrive at the solution I currently use, which I feel is the best of a bad lot:
- (Optional: Move the offending folders somewhere else, then hardlink that location back to Documents.)
- Hide the offending folders in Documents.
(Just to take a simple example of why this style of solution is still inadequate: one should be able to point e.g. a Backup software straight at Users/Documents – or indeed, copy the whole folder – and know exactly what one is getting. Also, a lot of people need to keep "Show Hidden Files" on.)
I'm slowly arriving at a question! – this isn't just a rant! The final note is to point out that the reason this problem occurs is because programmers are lazy and dump files in a place they can be sure is user-writable – even though there are dedicated AppData folders available. Once this behaviour is coded in, only the developer can change it – and most won't.
So. There is only one possible solution I can imagine and it's this. Somehow, the Environment Variable that determines the location of User/Documents must be presented differently to specific programs. I've arrived at a question –
How could this be achieved?