That's my test Setup:
- [face=courier]c:\!MNT\AAAAA\BBBB\
c:\!MNT\AAAAA\BBBB _SymLink\ ->BBBB
c:\!MNT\AAAAA\BBBB_Junction\ ->C:\!MNT\AAAAA\BBBB[/face]
@MVV thanks for that quick reply - well my WINCMD.ini
setup is like this:
- [face=courier][Configuration]
; Zielpfad bzw. Ziellaufwerk des Links nicht ไndern (=1) oder anpassen (=2)
CopyLinks=2
IgnoreLinks=0
SyncIgnoreJunctions=0[/face]
-> on some drive with NTFS (within Win7 )
Case #1 - same dir
- [face=courier]
BBBB _SymLink => BBBB _SymLink_1
BBBB_Junction => BBBB_Junction_1[/face]
within the same Dir (c:\!MNT\AAAAA\BBBB _SymLink\) just works fine.
[face=courier]
BBBB _SymLink_1=> BBBB
BBBB_Junction_1 => C:\!MNT\AAAAA\BBBB[/face]
- Copying to lower dir
[face=courier]
BBBB _SymLink => c:\!MNT\BBBB _SymLink
BBBB_Junction => c:\!MNT\BBBB_Junction[/face]
at this point things it starts to gets buggy.
[face=courier]
c:\!MNT\BBBB _SymLink -> BBBB should be AAAAA\BBBB
c:\!MNT\BBBB_Junction => c:\!MNT\BBBB should be c:\!MNT\AAAAA\BBBB
[/face]
Same story - link gets wrong.
- Copying to upper dir
[face=courier]
BBBB _SymLink => c:\!MNT\A1\BBBB _SymLink
BBBB_Junction => c:\!MNT\A1\BBBB_Junction[/face]
[face=courier]
c:\!MNT\BBBB _SymLink -> BBBB should be ..\BBBB
c:\!MNT\BBBB_Junction => c:\!MNT\A1\BBBB should be c:\!MNT\AAAAA\BBBB[/face]
that links don't work anymore since the target's are wrong.
Fix
- I guess setting
CopyLinks=1
in wincmd.ini will fix the problem for the test scenario.
Proposal #1 - CopyLinks=3
- The algorithm for CopyLinks=2 adept links should be extended or do a new setting:
- CopyLinks=3 Change links only if new link target exists.
also take care about 'future' links
I mean in that in the way- a)to move the link coping always at the very end of the copy queue or
b) just involve in isLinkValidCheck that the link will become valid if the active copy session is complete
- a)to move the link coping always at the very end of the copy queue or
- CopyLinks=3 Change links only if new link target exists.
- messing with the ini is not that nice in the admins workflow.
Involve options about copying links in the GUI options box.
- Add a button/link in options/advance that'll open current wincmd.ini.
- A wincmd.ini with comments
->all possible options() + their parameter
Or I make it self documenting by creative use of that GetPrivateProfile* API's that deal with ini-stuff.
Sometimes I use API Monitor (rohitab.com). Setup Ini in profile to get all possible ini options(and it's standard values) some program uses and is querying on it's startup.
How to create symbolic links, Junctions and hardlinks?
Well I use Link Shell Extension
http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html#Download[/url]