copy - Windows Junction / Move File Issues
2013-08
I am working on a computer where I am moving C:\Users\User
to D:\Users\User
and I am going to create a junction. All files moved successfully during the move except:
- My Pictures
- My Videos
- CurrentDatabase_372 (Windows Media Library)
- rnupgagent.exe
My Pictures and My Videos were shared at the time of the move, so that is probably why they encountered an error needing permission from the admin user. I created another admin user to do this. I cannot complete the move even in Safe Mode and the C:\Users\User
folder cannot be renamed to C:\Users\User.old
to complete the junction.
I am using this site, which referred me to this page for any questions.
At this point, about 20 files reside in the C:\Users\User
directory, files like NTUSER.dat
, and other registry named files.
I tried using RoboCopy GUI to complete the move too. RoboCopy GUI is greyed out for some reason. I don't want to reformat the drives.
Can anyone please help?
As I am using a SSD but it is limited in size I want to be able to use junction points to remap files and directories to my HDD, this would work ideal if I could create a shell extension for it that does this.
The ideal behavior would be to right click a directory or junction point and have an option
"Manipulate junction point" in which I can perform the following actions:
Create: For a directory, move the directory to a location I specify and replace it by a junction point.
(Dir) C:\Example turns into (JP) C:\Example --> D:\ExampleSwap: For a junction point, I want to swap the junction point with its location.
(JP) C:\Example --> (Dir) D:\Example turns into (Dir) C:\Example <-- (JP) D:\ExampleThis means it would remove the junction point, move the data and place a reverse junction point.
Remove: For a junction point, I want to remove it and move the directory back.
(JP) C:\Example --> (Dir) D:\Example turns into (Dir) C:\Example
My most important questions:
- What approach should I take to do this? Script? Bash? Executable?
- How do I create the menu entry?
Less important questions:
- Does there exist such a solution already?
- Are there better commands or API calls for checking and manipulating junction points?
I already know of Microsoft's mklink
and Sysinternals junction
.
Since you asked if such solutions exist already, have you taken a look at Junction Link Magic or Link Shell Extension?
Junction Link Magic allows creation, modification, and removal of junction points. It is freeware, and does support Windows 7.
Link Shell Extension also provides the same functionality, and is also freeware. It also supports Windows 7.
I just use MKLINK
which is built into Windows 7. You'll end up writing batch files I guess, but it's not hard to use.