Windows 7 Using Junctions (symlinks or Symbolic Links) to protect your save files

Mike

Windows Forum Admin
Staff member
Premium Supporter
#1
Have you ever lost ALL of your saved game data because something terrible happened? Well, recently, we have seen advancements solving this problem with the likes of Steam Cloud. Steam Cloud allows gamers, who are increasingly using Steam Powered games, to automatically store their saves online. Indeed, their provisioning for this service recently increased from 10MB to 100MB. Unfortunately, some games are just not compatible with Steam Cloud, were released before it existed, or just don't jive with Steam at all. But here is a way to use JUNCTIONS in Windows 7 (and Windows 8), to create what are called symlinks in Linux to basically move all your saves over to a backup drive without Windows "showing" the location really changed. How does this work, you ask?

Well just say your saves are normally stored at a location such as:

C:\Users\Mike\Documents\my games\skyrim\saves

But you want these save files to be stored some place else, perhaps even the entire "my games" folder, which contains .ini configuration files for game settings, and so forth. Maybe you want them in your Dropbox folder.

Here is how you would create a symbolic link (or in Windows lingo: JUNCTION) to make this possible.

Open up your Command Prompt by going to Search -> cmd -> -> Right click -> Run as Administrator (run CMD.exe elevated)

Code:
mklink /j "C:\path\to\source" "C:\path\to\dropbox\destination"

For example:

Code:
mklink /j "c:\users\mike\documents\my games\" "z:\dropbox\my games\"
An example for Minecraft:

Code:
mklink /j "%appdata%\.minecraft\saves" "%user_profile%\my dropbox\minecraft\saves"
Here is some additional information if you have syncing problems, specifically with Dropbox:

Dropbox will follow Windows junction points (Windows Vista or later) and sync the files or folders they link to. However, any changes to those files or folders made from the Windows operating system will not sync again until the Dropbox desktop application is restarted. To get around this, move the original folder to your Dropbox and add a junction point from its previous location to link to its new location in the Dropbox folder.

So in this case, you would want to do the reverse. Move the folder over to Dropbox first, and then create the symlink (Windows Junction Point) at the place where the folder used to exist:

Code:
mklink /j "z:\dropbox\my games\" "c:\users\mike\documents\my games\"
The internal software that places your saves will not know the difference. It will still think it is throwing the saves in c:\users\mike\documents\my games area, whilst in reality, these files are being stored on potentially either 1) a different drive or 2) an alternate backup source like Dropbox.

You can tend to this process with mouse and keyboard, by selecting folders and using third party utilities: Link Shell Extension

The use of hard links (symbolic links) for files and folders in NTFS is a feature that existed in Linux for years, but was added to Windows 7 (and ultimately Windows 8) for compatibility reasons, and finds earlier roots in Windows Vista. You may find that carefully using this methodology will help you save games that you play for long periods of time, as well as other files, on separate hard drives and backup services, including SkyDrive. If you are intimidated by the feature, try using it on non-essential folders (perhaps create c:\newfolder1 and c:\newfolder2) as a test. Ultimately, the feature will work well to keep your saves firmly placed where you would like them, even if the game developer did not offer such an option.
 


Last edited:
This website is not affiliated, owned, or endorsed by Microsoft Corporation. It is a member of the Microsoft Partner Program.