How to move installed files and have them still work (Steam games, etc)

BACKGROUND

With SSD drives, this is going to become more and more of a problem until their capacity gets ramped up. We must manually select what we want on the drive to be fast, and put the other stuff on a cheap, large-capacity, mechanical drive. However, Windows and Windows applications make this very difficult.

For the purposes of this example, I will use Steam. Steam places games in “C:\Program Files (x86)\Steam\steamapps\common\”. Games can be pretty large. So when you get to the limit, you have to delete one of the installed games. For me, this is around 4 or 5 modern games, so it’s not very convenient. There’s a longstanding request on the Steam forums to address this functionality, because you can only install games to the drive Steam is on… or can you?

Windows Vista introduced symbolic links. They’re a feature that other operating systems have had for years. Prior versions of Windows could make “junction points”, and you can find that application if you’re using XP or lower, but for the purposes of this post we will talk about this new feature since junctions can cause unforeseen issues – particularly with system files.

LONG EXPLANATION

A symbolic link allows you to map a directory or file in one place to another without any applications understanding that it isn’t in the place they think it is.

So let’s say I want to put Borderlands – a 12 GB game – on another drive because I won’t be needing fast loading times since I already beat it. I would move “C:\Program Files (x86)\Steam\steamapps\common\borderlands” to “D:\steam\borderlands”. Now, Steam cannot find it.

The next step is to open an Administrator command prompt (type cmd into the Start Menu search, right click on command prompt, and go to “Run as Administrator”).

mklink /D "C:\Program Files\ (x86)\Steam\steamapps\common\borderlands" "D:\steam\borderlands"

Now Steam will be able to find it! If new DLC comes out and you’ll be playing more often, delete the symbolic link (the folder in steamapps) and move the folder back where it came from.

At some point I might make an app to automate this. Enjoy!

TL;DR

  1. Move the folder elsewhere.
  2. mklink /D [FOLDER] [ACTUAL FOLDER]