Software‎ > ‎

Steam Mover

posted 2 Apr 2010 00:19 by Paul Traynier   [ updated 2 Sep 2010 17:07 ]
[Edit 3rd September 2010 - as featured on Lifehacker!  Yes, I see no reason it wouldn't work for other applications too, its just using standard Windows commands to move files and set up a junction point.]




Have you run out of space on your C:\ drive?

Or do you have a super-fast SSD that is too small to hold all your steam games at the same time?

Then try Steam Mover.

Following on from a very interesting post on the Steam forums I've created a little app to make moving the files and creating the junction points much much easier!


Example Use


Here I have my steam folder in the default location, and the application should find that for you.  If not, select the \Steam\SteamApps\Common\ folder yourself, and a secondary hard disk D:\, where I have created a folder.

Note that Steam Mover can be used to move any folder around (by changing the Source Path), but for Steam the maximum benefit is in moving individual games from the Common folder.


I simply select a few games I don't play very often, and click the "Right Arrow" button.  This fires off a few command line windows - please let them run to completion.

It is using the built-in Windows commands: xcopy, rd, and mklink.  If you want to see the exact commands it is running, tick the "I want to run the commands myself" box.



Once finished, you will see that I have moved Left 4 Dead and World of Goo to my D:\ drive, but because of the Junction Points created on the C:\ drive the games continue to work in Steam.


If you want to move games back to your C:\ drive, simply click on the left arrow button.



Pro's
  • You can store all your steam games on multiple drives, and they all carry on working!  You no longer have to do the install/uninstall shuffle to get enough disk space on drive C:\ for that latest game.
  • You can benefit from that fast, but small, SSD drive by only storing the games you regularly play on the SSD, and moving the older games onto a slower larger hard disk.  And all games remain playable in steam.
  • If you want to see what it's doing and run the commands from the command line yourself, tick the "I want to run the commands myself" box.  Note that SteamMover runs commands one at a time, and stops if it gets an error.

Con's
  • No warranty.  Whatsoever.
  • Things may go wrong.  I accept no liability of lost files, yadda, yadda.  Its moving a lot of files around, without much checking on permissions, so it may not be perfect.  It does work fine for me though.  If it does break you may have to copy/move files around yourself, restore from a backup, or re-download your steam games.  Please leave feedback below if you get an error, and I shall endevour to fix it in the next release.
  • Requires Microsoft Windows Vista or Microsoft Windows 7.  As I only have Windows 7 myself, I haven't tested it on Vista, but believe it should work.  It will NOT work on Windows XP.
  • It requires NTFS formatted drives.  It will not work with FAT32.
  • Junction Points can only relocate complete folders, not individual files.  So unfortunately it will not help with the massive .gcf files in the steamapps folder itself (mostly Valve games such as Counter-Strike and the Half-Life series).  To those that have asked, I have tried using mklink to create hardlinks, but they do not work to link to another drive - they only provide a shortcut to a file on the same drive.

Version History
SteamMover v0.1  - 2nd April 2010, 1168k.  The initial release.

Installation
Its a Delphi Application, and no installer is required.  Just unzip to wherever you want and run SteamMover.exe.

Uninstall
Simply delete the SteamMover.exe, and if you really want you can remove the two Registry keys from HKEY_CURRENT_USER\Software\SteamMover\.

Comments / Feedback