Move Program Folders in Windows without affecting functionality
FreeMove is a free open source program for Microsoft Windows devices to move program folders to other locations without breaking functionality.
When you install a software on a Windows machine, you either select a location for it to be installed in, or have no say in the matter at all.
The default locations, program files and program files (x86), fill rather quickly with all kinds of installations. While that may not be a huge problem if the main drive of your Windows PC has plenty of space, there may come a time where hard disk space is running out on the drive.
You can try and free up space, by running Disk Cleanup or CCleaner for instance, by finding the largest files, or by uninstalling programs from the PC.
FreeMove has been designed to provide another solution. You may use the program to move any folder on any of your drives -- and that includes program installation folders -- to another location without losing functionality.
Use cases include:
- Moving a large program folder, or folder that a program uses (profile folder under the user directory for instance) to another partition or drive to free up disk space or speed things up (by moving to a faster hard drive).
- Move a program folder to another location, for instance when it installed on c: directly, or in a location you don't want it to be in.
Using the program is super easy. You find downloads of it on the project's GitHub website. There you find the source as well, so give it a look if you want to analyze it before you run it, or even compile it yourself.
Start the program on your system afterwards. The interface is basic, but sufficient. It consists of two forms that you need to add directory information to.
- Move From: this is the original location of the program folder on your system, e.g. C:\Program Files\McAfee.
- To: this is the target location you want to move the folder and all of its files to, e.g. O:\test
The only other option allows you to set the original folder to hidden. An empty folder remains in the source location by default that points to the new location. The hide option hides that folder in File Explorer, provided that you don't display hidden folders by default.
Click the move button afterwards to start the process.
Notes: Make sure the program or the files in the folder are not in use at the time. Also, depending on the folder location, and where you want the folder to be moved to on the Windows machine, you may need elevation for that. If you want to move it t or from o c:\program files for instance, you need to run it with administrative privileges. Do so by right-clicking on the Free Move executable file and selecting the run as administrator option.
FreeMove places the folder under the selected target path. If you select O:\test for instance, the folder's new location is O:\test\programfolder
You probably wonder how FreeMove handles the moving in the background. Basically, what it does is create a directory junction in the source location that points to the new location that you have picked. Windows and programs interact with the program as if it would still be in the source location.
FreeMover is not the first program of its kind that offers that functionality. We have reviewed Steam Mover back in 2010 for the first time which, while designed for Steam, works for any folder that you want to move to another location.
There is also SymMover, which allows you to move installed programs on Windows machines to another folder without affecting program functionality.
Last but not least, there is also the manual way of moving folders using the built-in command line tool mklink.
FreeMover is a simple program, but simple is sometimes all that you need. You may use it to move any program folder or regular folder to another location without losing any of its functionality in the process.
FreeMove can be run without installation. It does require the Microsoft .NET Framework 4.x however.
Now You: Have you moved program folders in the past?
I haven’t moved program folders in the past but I have and remain bothered with programs installing themselves in Windows’ ProgramData folder which is not correct as it seems to me.
This is a handy application doing the work of creating a directory junction automatically.
I agree Tom. This seems to be getting more common lately.
Too bad it can’t be used to move its own folder (because it’s running) :-o
But, you could do this manually if you want to.
Do you think this can be used to safely move %appdata% folders (Local, LocalLow, Roaming) to different hard drive?
Why not move c: to another drive :-P
I don’t have a ton of things to move, but I do have some. And I haven’t because I find the mklink chore a bother. This sounds like a great program thanks!
Would that change the file permissions ? For instance, if programs were moved from an ordinary folder to the Windows pre-set folders Program Files or Program Files (x86) ? That might be a desirable aim.
Also, I suppose this breaks uninstall programs. If an install was recorded under Revo Uninstaller, then moved with Free Move, I imagine you couldn’t play the install log in reverse, the way you usually do with Revo.
I’d like to see an answer to that.
The question has been asked to the developer on his Github Freemove issues page, unanswered at this time :
If anyone has a hint… do bother to share it!
This is a function I’d like to use if the uninstall function in Windows still works, and Revo Uninstaller can work as well.
Hi chesscanoe and Jack
I can only confirm and repeat what Martin said, all functionality remains as is.
1. To revert is very simple, first delete the junction folder/shortcut from the original/default location and then just drag & drop the complete folder back to its original directory path. I tested it with an installed version of CCleaner that was installed at C:\Program Files\CCleaner. In both locations CCleaner ran and functioned 100% before and after.
2. I also tested via Revo, I uninstalled Belarc 8.5c after I moved it to a new location, no issues at all. Revo found all leftovers after the standard uninstall, same as usual.
So to free up space it’s perfect.
Martin, you need some sort of “like” or voting section on comments.
I often wish I could “like” a comment without having to make a formal comment.
It nice to say it with flowers, it’s nicer to say it with words :)
Martin, if you ever add a “like” section to users comments, I’d suggest a bouquet and a … whip, maybe? (Darn, I forget some may prefer the whip!) — As far as I remember I’ve never been offered flowers. LOL
Ok, feeling stupid here, how do I get this running? I downloaded the zip file from github but can’t find the executable file.
You need to click on the releases link on the GitHub page, there you find listed the binary downloads. What you downloaded is the source code.
g hacks > g ithub > g eeks, you’re not stupid.
Where is the executable version?
How do you delete the move and put it back in the original place?
What I’d like to see is a tool like the old Norton backup utility, which would zip up a program’s files, DLLs, and registry, enabling an installed program to be moved to a new PC.
Cool application. I extended it and added file functionality (in addition to folder) and a shell integration to the context menu. Also, I added administrative rights as default, since it didn’t work well without it. Finnaly, I added system and readonly atributes to the created symlynks. If you find it helpful, be my guest: https://github.com/rodgf/FreeMove
I tried this program but it didn’t work. It seemed to just repetitively move the files between the folders and I had to use the task manager to stop it.