Installing Steam games to different directories

Associate
Joined
21 Jul 2004
Posts
1,258
I've got a 128GB SSD on order and on my current installation I have a lot of games installed which would far exceed the capcity of the 128GB SSD. I was wondering if it is possible to have some Steam games which I play a lot installed on the SSD and the others which I don't play as much but would like to keep installed installed on my existing HDD (which I will keep for media and other stuff which won't fit on the SSD)?
 
Associate
OP
Joined
21 Jul 2004
Posts
1,258
Hmm I would rather have it all like I have now i.e. one instance of Steam can access all games. But if that is the only way then that seems better than nothing.

I'm convinced though that there must be a way of tricking Windows in to thinking a certain area of another disk is actually on the current disk if you see what I mean. Sort of like having a shortcut on your primary disk to a location on your secondary disk. In theory it sounds perfectly doable but I don't know whether you could do this all inside Windows itself and use the tools it offers (drive mapping or something maybe?) or would a third party application be needed (if one exists).
 
Associate
Joined
27 Feb 2007
Posts
1,921
Location
Leeds
Not sure if this will work but as an idea....

1. Install the game using steam as normal
2. Move the game folder to another drive
3. In a command prompt use the mklink command to create the original folder name and point to the new folder.

e.g.

mklink /J C:\Program Files\Steam\steamapps\common\game name D:\Games\game name

Like I say not sure if this will work, but in theory it should - and if you try beware that deleting the link may delete the target folder as well - so have a copy :s
 
Last edited:
Associate
Joined
3 Apr 2007
Posts
855
I suppose if you wanted to go to tonnes of trouble you could make partitions for each of your games and set the mount point of each within the steamapps folder. That should convince Windows that they are there, but you can have the partition on any disk.
 
Associate
OP
Joined
21 Jul 2004
Posts
1,258
I've had a quick go with that mklink command and it seems to work from what I can tell!

I haven't got another disk in my computer to really test it, but I moved a game folder to my desktop and created a symbolic link using the mklink command and placed it where the original folder was. It seems you need the /d option if you are creating a symbolic link for a folder (you don't need to bother if you are doing for an individual file I believe). I didn't bother with the /j option so I'm not quite sure what the actual difference is.

So what I typed was:

mklink /d symboliclinkname locationofgamefolder

That then places the link in the folder you are currently in.

I haven't tested it for individual files or put the files on a seperate disk but I don't see why either of those reasons should make a difference. I shall do a bit more testing tomorrow, but it looks good!

Cheers ChileanLlama!
 
Last edited:
Associate
Joined
27 Feb 2007
Posts
1,921
Location
Leeds
Glad it's working...I thought it should :)

I think difference between /J and /D is that /J can be used to create a link to a local drive or network location but /D can only be used on a local drive - otherwise they should do pretty much the same thing.
 
Joined
5 Oct 2008
Posts
8,978
Location
Kent
I can't get it to work. I have typed in the way you have and steam just goes to update it anyway and redownloads the game again. I tried with both an SSD and a conventional hard disk (C: and D: )

Nice idea, but before anyone gets their hopes up, it doesn't work :(

EDIT: Ooooh, ok, fussy windows. Appears to work now :D

EDIT2: Appears to only work with games without spaces in their directory names :( Otherwise the mklink command gives a syntax error. Still useful however.
 
Last edited:
Associate
Joined
3 Apr 2007
Posts
855
For most cmdprompt commands you can use a ~1 for longer folder names. For example, 'Program Files' becomes Progra~1. It is is hte first 6 letters of the folder/file name and a "~1".

Alternatively, putting the entire Directory name in quotes should fix the problem.
 
Associate
OP
Joined
21 Jul 2004
Posts
1,258
When typing directory or file names in the command prompt, I always use tab completion to ensure I'm getting exactly what I want. So for example if I wanted to change directory to Program Files, I would type the P and the r and then press tab until the name I want appears. It will also add in quotes for you if you are trying to access a file/directory with a space too e.g typing Pr and then pressing tab once or twice will give you "Program Files".
 
Soldato
Joined
1 Jun 2010
Posts
7,053
Location
London
Hi guys

I am trying to create the link for Just cause2 but it's not working out:(. Location of game:

Original Folder

C:\Program Files (x86)\Steam\steamapps\common\just cause 2

New Folder

E:\Program Files\Steam Games\just cause 2

When I try to type the command as suggested I get error:

mklink.png


How do I type exactly to get the link?

many thanks
 
Man of Honour
Joined
13 Oct 2006
Posts
91,163
I did similiar to play games from SSD while having the main bulk of the steam install on a mechanical HDD - but instead I partitioned the SSD(s) into 5-20gig drives for different games and used disk manager to mount those drives to dummy folders in the steam common files folder.
 
Soldato
Joined
3 Oct 2009
Posts
2,719
There are easier ways than command line:
look up Junction Link Magic, or Link Shell Extension for ways to automate symbolic links and junctions.

Edit: Rroff's method is clever, too.
 
Last edited:
Back
Top Bottom