Windows Legacy OS forum

General discussion

Using a reparse point to move My Documents to another drive

I'm using Win XP Pro SP3. When my files in "My Documents" outgrew my hard drive's capacity a while back I bought a new hard drive and decided to move my "My Documents" onto the new F: drive, leaving everything else on the original hard drive. It seemed like the simplest solution to my problem at the time. The situation does create a few syntax problems revolving around the question "When is the 'My Documents' folder not really the 'My Documents' system folder?"

Most of the time I don't have any problems with the arrangement, but there are a couple of anomalies. At present my command line environment variables do not have any easy way to point to "My Documents" because (for example) %userprofile%\My Documents points to the folder on c: that used to be the 'My Documents' system folder rather than to the current location of the system folder. That is not usually a big deal but it may be related to the more frequent problem.

A few ill-behaved programs expect to find and store files in %userprofile%\My Documents (which is on C: drive) rather than in the actual system folder "My Documents" on F: which makes it harder to find these files when I search for them.

Just to 'simplify' the situation I thought about setting a reparse point in the old "My Documents" folder ( %userprofile%\My Documents ) that points to the actual system folder (which is F:\My Documents\ )

Tinkering with settings like this has potential to break things in unexpected ways so I thought I'd ask whether there are any obvious problems with the 'solution'. Or are there better ways to keep the user documents on a second hard drive?


Discussion is locked
You are posting a reply to: Using a reparse point to move My Documents to another drive
The posting of advertisements, profanity, or personal attacks is prohibited. Please refer to our CNET Forums policies for details. All submitted content is subject to our Terms of Use.
Track this discussion and email me when there are updates

If you're asking for technical help, please be sure to include all your system info, including operating system, model number, and any other specifics related to the problem. Also please exercise your best judgment when posting in the forums--revealing personal information such as your e-mail address, telephone number, and address is not recommended.

You are reporting the following post: Using a reparse point to move My Documents to another drive
This post has been flagged and will be reviewed by our staff. Thank you for helping us maintain CNET's great community.
Sorry, there was a problem flagging this post. Please try again now or at a later time.
If you believe this post is offensive or violates the CNET Forums' Usage policies, you can report it below (this will not automatically remove the post). Once reported, our moderators will be notified and the post will be reviewed.
Collapse -
Just checking.

In reply to: Using a reparse point to move My Documents to another drive

Rather that tempt fate why not move it the standard way? That is right click on My Documents, Properties and use the Move button?

Collapse -
I should clarify ...

In reply to: Just checking.

The "My Documents" folder was moved when the hard disk was installed. I actually had that done by my local computer repair shop a while back because physically installing the second hard drive in my computer was a bit tricky due to some wires and things that ran through the drive bay. I don't know HOW the shop set Windows to use F:\My Documents as the 'My Documents' folder for my user name. They may have done it the way you suggested. Or they may have done it using TweakUI or by editing HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Personal (which raises an unrelated question: Why is that same information also in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal? But I digress. )

Windows itself correctly locates the 'My Documents' system folder (eg: when I use Windows Explorer) and most of the other programs I use also locate the system folder correctly. The problem arises when ill behaved programs assume (incorrectly) that the System folder is located at %userprofile%\My Documents. The environment variable %userprofile% still points to the folder C:\Documents and Settings\Bill so those ill behaved programs have 'accidentally' created a folder called C:\Documents and Settings\Bill\My Documents that is NOT the system 'My Documents' folder for my user name. The system is currently working except for those programs.

IOW, Windows seems to be working correctly as is. The problem is that there are a few programs that were not designed to actually check the appropriate registry entries and they locate 'My Documents' incorrectly. The reason to set a reparsing point or junction or whatever it's called is to trick those programs into 'doing the right thing' but I don't want to break something else in the process.

Collapse -

In reply to: I should clarify ...

If %userprofile% is pointing to C: then you should fix that.

Collapse -
I'm puzzled ...

In reply to: %userprofile%

The %USERPROFILE% entry probably is not the problem because it does correctly point to the folder containing all of my profile information EXCEPT the system 'My Documents' folder.
I do not have this problem at work. At work the IT folks have set our computers up so that our 'My Documents' folder is on a network drive, not a local drive. The rest of the user folders are located in the usual location at C:\Documents and Settings\username all of which is more-or-less similar to the arrangement on my home PC.
On my PC at home there are TWO different environment variables that point to C:\Documents and Settings\username
%USERPROFILE% and %HOMEDRIVE%%HOMEPATH% but at work the %USERPROFILE% points to the C: drive folders and the %HOMEDRIVE%%HOMEPATH% combination points to the 'My Documents' folder.
That makes me suspect that the problem is not the %USERPROFILE% entry which correctly points to MOST of my user data, but rather the entries in %HOMEDRIVE% and %HOMEPATH% that incorrectly point to a location on C: on my home PC. Unfortunately I don't have any idea how to change these variables.
The more I learn about these environment variables and the apparent redundant entries in the Registry the more confused I get.

Collapse -
Fix which ones point to where...

In reply to: I'm puzzled ...

You don't want them to. Maybe your IT staffers are using group policies but I can't know that. Ask them.

Collapse -
I wish ...

In reply to: Fix which ones point to where...

The hospital IT folks are not all that receptive to questions from mere users and I'm not sure that their techniques on a large network with domain logon and such would translate for me on a workgroup that has no centralized administration.

I've tried setting the values for %HOMEDRIVE% and %HOMEPATH% in the registry at HKEY_CURRENT_USER\Volatile Environment (and the corresponding key in HKEY_USERS\...\Volatile Environment but the changes don't seem to stick. They revert to the old address on c: as soon as I reboot.

Very frustrating.

Collapse -
"They revert to the old address on c: as soon as I reboot."

In reply to: I wish ...

Sounds like Group Policies to me. Time to pow wow with your IT bud.

Collapse -
I may have found a solution ...

In reply to: "They revert to the old address on c: as soon as I reboot."

As noted, the IT folks at work can't/won't offer much help. They have apparently figured out how to make things work on the corporate network but they don't do personal tech support.

I think, though, that I found a solution. If I edit the registry to change the volatile environment the changes won't stick, but if I go to Computer Management | Local Users and Groups | Users and choose Properties for my user name, the Profile tab includes an option to set either the Profile path (which I think is supposed to be a UNC address to a network drive) or a Local path (which is apparently supposed to be the location of the "home folder" on a local drive).

If I put f:\My Documents (the real system 'My Documents' file) into the Local Path, then rebooting causes the registry's environment variables to be populated with the data from the User Profile in Computer Management. I have not yet done enough testing to see whether this completely fixes the original problem, but it is at least a start.

Why there are so many different poorly documented ways to set up this information I'll never understand.

Collapse -
Regedit versus regedit32

In reply to: I wish ...

I'm not sure if this will help but you might try regedit32 instead of regedit in that it allows permissions to be set. Maybe you can take control of the registry value that way.

Collapse -
(NT) BTW, it's regedt32 and not regedit32

In reply to: Regedit versus regedit32

Collapse -
Thanks ...

In reply to: BTW, it's regedt32 and not regedit32

I don't think it was a permissions problem, but I had not heard of regedt32 before so I'll remember that.

Collapse -
Re: clarification

In reply to: I should clarify ...

Windows behaves fine. Some programs don't. Go and complain with their makers.
If they have the 'designed for Windows XP' logo (or something like that) on the box complain with Microsoft also. Such a logo only is meant for programs that follow the Microsoft specified rules. And these ones don't, so they aren't fully compatible.


Collapse -
And in an ideal world ...

In reply to: Re: clarification

the publishers would listen to mere users.

In the interim I'm just trying to find workable solutions for my messy real world programs.

Collapse -
A workable solution.

In reply to: And in an ideal world ...

Give these programs what they want (a piece of the c:-drive to put their data on). It only will become a problem if your c:-drive gets full again. But that might take a few years if most of your personal data is on the other drive already.


Popular Forums

Computer Newbies 10,686 discussions
Computer Help 54,365 discussions
Laptops 21,181 discussions
Networking & Wireless 16,313 discussions
Phones 17,137 discussions
Security 31,287 discussions
TVs & Home Theaters 22,101 discussions
Windows 7 8,164 discussions
Windows 10 2,657 discussions


Enter to win* a free holiday tech gift!

CNET's giving five lucky winners the gift of their choice valued up to $250!