Background: I have an older desktop with a system drive (an m.2 ssd) topping out on capacity. Because of the age of the machine (which will likely need to be replaced sometime relatively soon) I opted to just add an additional spinning hard drive to carry the load of the heavily used storage locations ("Pictures" and a "Onedrive" directory) instead of cloning the whole system onto a bigger m.2 drive.
New drive is successfully installed and the Pictures folder (and its content) successfully moved onto the new hard drive.
Here is the problem: I have several programs (image scanners and a backup program used to real-time image (for backup) data off onto a NAS/RAID (program is Allway Sync). These programs for the most part use a full path to the Pictures (and other) folders .... and so while I can go directly to the Pictures folder in the file explorer using either the quick access or Libraries on the left side of file explorer, now the direct path "C:\users\username\Pictures" is no longer valid.
So ..... I think to myself: "self .... just put a symbolic link in the user directory and all shall be fine". Well, all is not fine. after putting a symbolic link (actually a "junction" in that location (syntax used: mklink /j c:users\username\Pictures d:\my_large_directories\Pictures) (yes, command run from command prompt run as admin) the command runs without errors, and the new link "Pictures" appears in my home directory ..... BUT when trying to cd into that link (either from command window or in file explorer) I get an error indicating that the link "does not exist" (which is weird, because I can delete it.....).
This approach DOES work if I specify a target directory that is NOT the Pictures directory (i.e. not a "special" or "shell" folder).
I suppose this is occurring for some reason because the target folder IS a special folder, but dont really understand why or how to circumvent this (from what I have been able to dig up, these Shell Folders for users are defined within the Registry (NOT via a shell environment variable, despite the name of the things....), and I have no real wish to play with the registry.
So .... a long winded way of basically asking is there a way to relocate my Pictures directory to another drive, yet still have a way for at least some of my running executables to access that directory via a path that looks like c:\users\username\Pictures ????? (or am I stuck with having to hard-wire the paths to that new directory into said executable programs)????
I am going to need to do this same thing with a Onedrive directory (also apparently a shell folder) which is also tied up with large amounts of data that are routinely mirrored for backup. Your thoughts are most appreciated!
New drive is successfully installed and the Pictures folder (and its content) successfully moved onto the new hard drive.
Here is the problem: I have several programs (image scanners and a backup program used to real-time image (for backup) data off onto a NAS/RAID (program is Allway Sync). These programs for the most part use a full path to the Pictures (and other) folders .... and so while I can go directly to the Pictures folder in the file explorer using either the quick access or Libraries on the left side of file explorer, now the direct path "C:\users\username\Pictures" is no longer valid.
So ..... I think to myself: "self .... just put a symbolic link in the user directory and all shall be fine". Well, all is not fine. after putting a symbolic link (actually a "junction" in that location (syntax used: mklink /j c:users\username\Pictures d:\my_large_directories\Pictures) (yes, command run from command prompt run as admin) the command runs without errors, and the new link "Pictures" appears in my home directory ..... BUT when trying to cd into that link (either from command window or in file explorer) I get an error indicating that the link "does not exist" (which is weird, because I can delete it.....).
This approach DOES work if I specify a target directory that is NOT the Pictures directory (i.e. not a "special" or "shell" folder).
I suppose this is occurring for some reason because the target folder IS a special folder, but dont really understand why or how to circumvent this (from what I have been able to dig up, these Shell Folders for users are defined within the Registry (NOT via a shell environment variable, despite the name of the things....), and I have no real wish to play with the registry.
So .... a long winded way of basically asking is there a way to relocate my Pictures directory to another drive, yet still have a way for at least some of my running executables to access that directory via a path that looks like c:\users\username\Pictures ????? (or am I stuck with having to hard-wire the paths to that new directory into said executable programs)????
I am going to need to do this same thing with a Onedrive directory (also apparently a shell folder) which is also tied up with large amounts of data that are routinely mirrored for backup. Your thoughts are most appreciated!