Nifty Way to Safely Move Folders or Programs to Another Drive or Partition in Windows 7


Would you like to move some folders or programs off the C:\ drive to free up space or to reduce wear and tear on an expensive SSD? Unfortunately, moving folders or files off the C:\ drive to another drive or partition is not always as simple as it seems. The folder or file may be referenced in the Registry or in some script or application. If it is an installed program you are moving, you would have to uninstall it and then re-install it in the new location. Making an ordinary shortcut file won’t do because shortcuts look like separate files to programs and the Registry.

A previous tip showed a method for safely moving certain personal folders. In this tip I will show a general but simple way to move programs or other folders and files while maintaining all the original references. In fact, you can make it appear that your folder or file is still on the C:\ drive when it has actually been moved to another drive or partition. Moreover, you will be able to access or even edit the object from either place although there is only one copy. It brings to mind the old expression about having your cake and eating it too. The method uses what are called symbolic links. (A simple explanation of what symbolic links are can be found in this article.)

Symbolic links can be created in the command line with a special command that was first introduced in Vista. It is called Mklink (described in more detail here) and here is how it works for a folder:

  1. Before doing anything, make sure you have a backup of your system
  2. Move (not copy) the desired folder (let’s call it ExistingName) by the usual methods to its new destination on the X:\ volume. Give it whatever name you choose. Let’s call it NewName but it can retain ExistingName if you wish.  At this point programs and Registry references may be broken. It is necessary to move the folder first since otherwise no symbolic link can be created on the C.\ drive
  3. Next open a command prompt with elevated privileges. (This previous tip explains how.)
  4. Enter the command mklink /d C:\ExistingName X:\NewName The switch /d indicates that we are linking folders (directories). No switch would be used if a file was being linked. If your folder name has spaces, you have to enclose the path name in quotes.
  5. If a link is successfully made, the command line will show a message “symbolic link created for ExistingName <<===>> X:\NewName”.
  6. Close the command prompt 

That's all it takes. All of the previous Registry or other references to C:\ExistingName will continue to work. The command creates a small object on the C:\ drive that retains the previous folder name and behaves as if it has the contents of the folder that is really over on the X:\ drive.

It’s the magic of symbolic links.

Freeware that uses symbolic links to move folders - I haven't used it because I prefer the quick and easy command-line method but there is a free application called SymMover for moving folders and creating symbolic links. Website is here. If you try it, let us know how it worked out.

Warning: Moving personal data folders by the method described here is fine but moving or redirecting the main Users folder can cause trouble with upgrades.

Get your own favorite tip published! Know a neat tech tip or trick? Then why not have it published here and receive full credit? Click here to tell us your tip.

This tips section is maintained by Vic Laurie. Vic runs several websites with Windows how-to's, guides, and tutorials, including a site for learning about Windows and the Internet and another with Windows 7 tips.

Click here for more items like this. Better still, get Tech Tips delivered via your RSS feeder or alternatively, have the RSS feed sent as email direct to your in-box.

Please rate this article: 

Your rating: None
Average: 4.4 (59 votes)


I realize this is an old post but I am hoping the system will notify Vic that I posted this comment/question.

I just suffered a sever virus attack that only affected the programs installed on my c drive. A few small program were installed directly on my e (external) drive and they were not affected. Since I am looking at a fresh install of the program after reinstalling Windows my question is this. Can I just choose a location on my e drive when the install ask me where to install the program? If so will the program load everything and interact with the registry keys and .dll libraries?

Thanks for the information,

You are unlikely to get many responses here in the comments section. Please post this in our forum where it will receive greater coverage. MC - Site Manager.

Resurrecting an old post, I know, but my method has always been:

Open the new location (in most cases, either a second partition or second drive) & create a folder called "Users", open that & create the actual user file (by name), then go into that one & recreate, by name, those which you plan to move. Generally, I move: documents, downloads, music, pictures, video.

Now, when you go to the location tab in your C: drive folders, you browse to the matching folder name on D or E & choose that. Say yes to move it all. The folders will continue to be viewable within the original user folder as accessed from the desktop icon.

That is not what this post is about. However, yes those are folders that can be moved also, however, much easier than you have listed. All you have to do for those, is right click on them in Explorer, click properties, click location tab, click Move, navigate to drive you want your target/files, if necessary from there create folder structure, select final folder destination, click Select Folder, and Click OK. From there you can do that to all the other libraries you want moved, just selecting the folder your created in the first step. It will make the destination name for you, ie 'Documents to Documents, Music to music, etc. You can change those if you wish as well.

This post was about moving installed program folders, i.e. move CorelDraw from default C Drive to another Drive after it has already installed.

Great refresher. I would like to add that if people are having trouble with the command they need to enclose both paths in quotes if there are any spaces or parenthesis in the path. (such as: Program Files (x86) )

mklink /d "C:\Program Files (x86)\My Program" "D:\SymLinks\My Program"

Also.. Please dont use freeware to do this. It is almost too easy to do yourself. If your unsure just copy and paste the path from windows explorer.

Thank YOU for the link to "SymMover ". I received a gift of malware as a door prize. You download the crapware and are forced also to download their free backup system.

[Personal and racist comments deleted as per site rules]

The SymMover download defaults to cnet which uses a wrapped installer. It is from this you received the unwanted extra components. We published an article about this some time ago but maybe you missed it. MC Site Manager. Additional information here.

Exactly. These days too many people download free programs from a link, then fail to read each screen as they are just clicking away. Then after they are done they find crapware this and adware that also installed, and the first thing they do is blame the person(s) who gave them the link, instead of where the real fault lies which is their selves for not reading to begin with. Stop being so click happy, take time to read what on those little windows, and install responsibly. Save yourself and others much frustrations.