This topic is mainly for non advanced users. I'm quite shure all advanced users in this forum know and make use of Junction Links. a Junction Link is like a shortcut with steroids from one folder to another folder, that can be on any drive even if it is on another HD as far as it is in same equipment.
On this article the author makes a short explanation of the different kind of links (taken from following gbrao post):
Create a symbolic link to a directory or a file, or create a hard file link or directory junction.
MKLINK [[/D] | [/H] | [/J]] LinkName Target
/D Create a Directory symbolic link. (default is file)
/H Create a hard link instead of a symbolic link.
/J Create a Directory Junction.
LinkName The new symbolic link name.
Target The path (relative or absolute) that the new link refers to.
And for more detailed and complete info you can see this pdf from Wonko's Post No. 4 : https://www.2brights...bolic-Links.pdf
NOTE: Also attached for your conveniience.
This is a program Link Shell Extension. That can be handy for people prefering a GUI.
The talk here will be about Junction Links, also called Directory Junctions wich are very useful.
In elevated Command Prompt:
mklink /J "path to create new junction link" "path to target folder"
NOTE: If using mklink command it creates the junction folder pointing to the folder where info is located.
I have being using Junction Links since XP and then there was not many info or available, during my search I found a little GUI program that I have being using, Author's page seems not available anymore but afortunately I found a link for those interested on a GUI program (and easier to use than Link Shell Extension), Junction Link Magic 184.108.40.206, this its last version and can run from 7 to 10 but it requires to have installed .Net framework 3.5, still available on 8.x and 10 installs but you need to activate/install it on Windows features/characteristics, (it contains also 2.0 and 2.5), I can't find a link to the XP version (so it is attached).
Junction Link Magic 220.127.116.11 (7 to 10)
NOTE: If using Junction Link Magic it can use an existing empty folder as the junction folder pointing to the folder where info is located.
We can use Junction Links to force some programs or games that do not let the user change or select the install location, here two examples:
Following cases are using Junction Link Magic if using mklink command you have to delete the original folder since the command will create it as a junction link.
FireFox installs usually in C:\Program Files\Mozilla Firefox this is a easy case, we create the same set of folders on another drive (even located on different HD, but on same machine) like F:\Program Files\ and then copy there the folder Mozilla Firefox, going back to the original location we delete all content of Mozilla Firefox folder (but not the folder). and create a Junction Link from the empty folder to the F:\Program Files\Mozilla Firefox folder. Of course the progam should not be running during this procedure. (this will take care of frecuent FireFox updates)
But to take care of all acumulated info from Internet I also I recommend to make a junction link from FireFox Profile folder on %APPDATA%\Roaming\Mozilla\Firefox\Profiles to another location outside the OS drive, here the program stores all pages, videos, etc we watch, of course CClener can delete all garbich from Internet. Maybe using as target folder something like: F:\Program Files\Mozilla Firefox\Profiles
NOTE: Following info is not valid anymore since Avast new versions now let the user install in another drive, and do not allow to install on a Junction Folder anymore, But you can take it just as an example/guide if you have a similar case with another program.
Avast AV that forces the users to install it on C:\Program Files\AVAST Software\Avast & once installed it also don't let the user create a Junction Link to other location as I have tested.
Well as we already know the path where it will be installed, the trik we can use is create the folders it will use during install in advance and other set of folders) as an example F:\Program Files\AVAST Software\Avast, and create then the junction link on C:\Program Files\AVAST Software\Avast folder pointing to F:\Program Files\AVAST Software\Avast folder, then when you install the AV it will use its usuall location but all its files/folders will be located phisically where we selected.
I used this 2 programs for my examples becouse both are very well known to writte to the disk a daily average of 1 GB each. Same applies to any other browser and AV, but Google Chrome has the bigger numbers.
Other potential uses:
Reduce wear on SSDs:
My brother has an Small 256 GB SSD as primary HD and a secondary 2 GB HDD on his PC, in this case I put Google Chrome, Avast and the Page File (to satisfy some programs requiring it even if they don't use it) phisically on a dedicated partition on the HDD.
On Wimboot or Compact installs:
The use of portable programs is the best option in this cases, but if here is some heavy program you need/want/like or if it writtes to the drive a lot, creating a Junction Link to an external location will reduce the required space during install and/or the used space will not grow up so much, This is like simulating a portable.
When yo make a WIM image of your OS drive (or with a backup program), the resulting image will be smaller, if keeping your Documents, Downloads and all your games and heavy programs in another drive, and when restoring your OS all will be same as before.