Tag Archives: symlinks

Windows file symlinker gui

Windows has the ability to create file links. Not the regular “shortcuts”, Linux like links.

MKLINK
This is hidden in a shell command called MKLINK. Many people are not comfortable with a command shell (even many developers!). I sometimes just want to stay in the graphical view too.

Example Use
Just downloaded the new Groovy 2.1.0-rc-1 to check it out. I put my tools in a versions folder and then I create a directory link to the version I currently use. I wrote about this in “Switching between versions of tools“. So, when I install this new version a directory list (dir groovy) would look like this.

C:\java>dir g* | find "groovy"
01/10/2013  09:08 PM    <JUNCTION>     groovy [C:\java\GroovyVersions\groovy-2.1.0-rc-1]

This would usually be created with the mklink command as follows:

mklink /D groovy GroovyVersions\groovy-2.1.0-rc-1

With symlinker:
“The goal is just make it easier to create symbolic links, hard links, or directory junctions, using a pretty simple interface, so no more bogus command line to do it… ”

Is there any gui linker that allows you to create the link in the current explorer location? Yes, we can create a shell extension and all that, but shouldn’t computers make this easier to do? On symlinker’s project site, a user asks for this capability.

Ok, so it is graphical and looks good. However, now you have to fill in two input fields that require you to navigate using Windows explorer, where to create the link and then where to point the link. Using the command line is faster especially if you use tab-completion. You can use the Windows explorer window and type, of course, however, the “completion” there is more awkward.

Anyway, recommended tool for occasional link creation in Windows.

Tool Switching
The approach above is easy and works. If you need to switch a group of tools and libraries to different versions, that is more complex, perhaps even in the realm of package managers. In Windows there are no lightweight frameworks for this. On Linux there are tools like GVM.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.