Shortcuts, Junctions and Directory Symbolic Links

Introduction

This section describes the behaviour of CrazyCopy when any of the following are used as the Source or Destination Folders :

A Windows Shortcut (.lnk) is a shortcut file and is not itself a folder. Therefore, a folder shortcut cannot be used directly as a CrazyCopy Source Folder or Destination Folder. This section also describes how CrazyCopy behaves when a folder shortcut is already inside the Destination Folder with the same name as a Source Folder being copied or moved.

Junctions and Directory Symbolic Links can be used as CrazyCopy Source or Destination Folders. This section examines the results when these types are both copied and moved as the Source, or have a Source copied, moved or copied over them as a Destination.

There is a separate section describing how Shortcuts, Junctions and Directory Symbolic Links are treated when they exist inside a Source Folder that is being copied or moved. Depending on the type of link and the locations involved, moving the containing folder can affect whether those links continue to resolve to their intended targets or not. See the Help Section entitled Reparse Point and Shortcut Remapping Rules for information about how CrazyCopy remaps these objects so that they continue working as intended.

Reparse Points and Shortcuts

Junctions and Directory Symbolic Links are filesystem links implemented using Windows reparse points. A Windows Shortcut (.lnk) is different. It is a Shell Link file and is not a reparse point. Although these objects are implemented differently, Windows Explorer can allow all three to provide access to another folder called the target folder. 

A Junction or Directory Symbolic Link is resolved by the filesystem when its path is accessed, while a .lnk shortcut is resolved by the Windows Shell. CrazyCopy has been tested with these object types on NTFS volumes.

Quick Reference 

  1. A .lnk folder shortcut can not be used as a Source or Destination. It can be contained in a Source Folder and copied or moved.
  2. If the Destination Folder contains a .lnk folder shortcut with the same name as the Source Folder, the shortcut is not treated as an existing Final Destination Folder, it remains untouched and CrazyCopy creates a new normal Final Destination Folder beside it using the Source Folder's name. For example folder.lnk and folder will exist side-by-side.
  3. Copying or Safe Moving a junction as a Source, creates a normal folder named after the junction in the Destination and also copies the junction target’s contents into it.
  4. Copying or Safe Moving a directory symbolic link as a Source, creates a normal folder named after the symlink in the Destination and also copies the symlink target’s contents into it.
  5. Direct Move of a directory symbolic link or a junction preserves the directory symbolic link or junction object. Direct Move must use the same volume for the Source and Destination
  6. When the Source is a normal Folder and the Destination itself is a Junction or a Directory Symbolic Link (the Final Destination doesn't exist as that would be a Copy Over), the rule is simple, CrazyCopy will follow the Destination reparse point and perform the copy, safe move or move operation in its target folder. The Destination Junction/Symbolic Link itself remains unchanged.
  7. When Copy Over is enabled and the existing Final Destination is a normal Folder, CrazyCopy merges the Source contents into that existing folder.
  8. When Copy Over is enabled and the existing Final Destination is a Junction or a Directory Symbolic Link, the Junction or Directory Symbolic Link remain as they are, untouched. But CrazyCopy merges the Source contents into the Junction's or Directory Symbolic Link's target folder.
  9. When the Source used for Copy Over is a Junction or Directory Symbolic Link, CrazyCopy copies the contents exposed through its target into the existing Final Destination Folder. The Source Junction or Symbolic Link object itself is not recreated in the Destination Folder.

Shortcut, Junction or Directory Symbolic Link as Source Folder

This section covers the behaviour of CrazyCopy when a Shortcut, Junction or Directory Symbolic Link is selected as the Source Folder and a Copy, Safe Move or Direct Move operation is performed.

Copying a Source Folder Shortcut, Junction or Directory Link

First we cover how CrazyCopy will Copy a Parse Point or Shortcut when one is set as the Source Folder.

Shortcut 

A Shortcut to a Folder is not a real Folder and therfore can not be set as a Source Folder in CrazyCopy. To Copy a Shortcut simply use Windows Copy and Paste.

image.png

The following error will be shown if dropping a Folder Shortcut on to the Source box, or if typing the Shortcut's path directly into the Source text box then clicking on Copy.

"ERROR: Folder:'C:\Users\marcu\Desktop\source_inside\shortcut_to_folder.lnk' Does Not Exist. Please Reselect"

Junction

A Junction is a directory reparse point and can be selected as the Source Folder in CrazyCopy. Copying the Junction does not copy or recreate the Junction object. CrazyCopy creates a new normal Final Destination Folder with the same name as the Source Junction and copies the contents exposed through the Junction (the contents of its target folder), into that new folder. 

image.png

Pre Copy
Junction Object : C:\Users\marcu\Desktop\source_inside\junction_to_junctions_target
Junction Target: C:\Users\marcu\Desktop\source_inside\junction_target_folder
Junction Target Contents:
C:\Users\marcu\Desktop\source_inside\junction_target_folder\Junction_target_folder_1
C:\Users\marcu\Desktop\source_inside\junction_target_folder\Junction_target_folder_2
C:\Users\marcu\Desktop\source_inside\junction_target_folder\Junction_target_folder_3

Source Folder: C:\Users\marcu\Desktop\source_inside\junction_to_junctions_target
Destination Folder: C:\Users\marcu\Desktop\copy_source_here

Copying the Junction does not copy the special junction object, it creates a new Final Destination Folder with the same name as the Junction, then copies into that new folder the Junction Targets contents. 

Post Junction Copy
Final Destination Folder: C:\Users\marcu\Desktop\copy_source_here\junction_to_junctions_target  <-- Not a Junction Now

image.png

Can now navigate the copied junction as a normal folder

image.png

Directory Symbolic Link 

A Directory Symbolic Link is a directory reparse point and can be selected as the Source Folder in CrazyCopy. Copying the Directory Symbolic Link does not copy or recreate the symbolic-link object. CrazyCopy creates a new normal Final Destination Folder with the same name as the Source Directory Symbolic Link and copies the contents exposed through the symbolic link (the contents of its target folder), into that new folder.

image.png

Pre Copy Directory Symbolic Link

Directory Symbolic Link Object : C:\Users\marcu\Desktop\source_inside\directory_link_to_folder
Directory Symbolic Link Target: C:\Users\marcu\Desktop\dir_link_target_folder
Directory Symbolic Link Target Contents: 
C:\Users\marcu\Desktop\dir_link_target_folder\dir_link_target_folder_1
C:\Users\marcu\Desktop\dir_link_target_folder\dir_link_target_folder_2
C:\Users\marcu\Desktop\dir_link_target_folder\dir_link_target_folder_3

Source Folder: C:\Users\marcu\Desktop\source_inside\directory_link_to_folder
Destination Folder: C:\Users\marcu\Desktop\copy_source_here

Copying the Directory Symbolic Link does not copy the special link object, it creates a new Final Destination Folder with the same name as the Directory Symbolic Link, then copies into that new folder the Directory Symbolic Link Targets contents. 

Post Copy Directory Symbolic Link

Final Destination Folder: C:\Users\marcu\Desktop\copy_source_here\directory_link_to_folder  <-- Not a Symbolic Link Now

image.png

Can now Navigate the copied Directory Symbolic Link as a normal folder

image.png

Safe Move

For a Junction or Directory Symbolic Link used as the Source Folder, a Safe Move produces the same type of Final Destination Folder as a Copy: a new normal folder is created using the Source object's name, and the contents of the Source object's target are copied into it.

Unlike a Copy, after the Safe Move has completed successfully, the original Source Junction or Directory Symbolic Link is removed. The Junction or Symbolic Link's target folder is not moved or deleted.

This is different from a Copy Over operation, where a Final Destination Folder already exists and its contents may be merged. See the Copy Over section below.

The benefits of a Safe Move are that Symbolic Links, Junctions and Shortcuts are handled to ensure they remain working after a Move. There are three main rules

Moving

This section describes a Move performed with Safe Move disabled. This is referred to here as a Direct Move. CrazyCopy uses the operating system's direct move operation rather than copying the contents and subsequently deleting the Source.

A Folder Shortcut (.lnk) cannot be used as the Source Folder and therefore cannot be Direct Moved by CrazyCopy as a Source Folder.

A Junction can be used as the Source Folder. When Direct Moved, the Junction object itself is moved to the Destination Folder. It remains a Junction and continues to point to the same target folder. The contents of the target folder are not deep-copied into a normal folder.

A Directory Symbolic Link can also be used as the Source Folder. When Direct Moved, the symbolic-link object itself is moved to the Destination Folder. It remains a Directory Symbolic Link and continues to point to the same target. The contents of the target folder are not deep-copied into a normal folder.

A Direct OS Move can not move any Source over an existing Final Destination Folder. A Direct OS Move also requires the Source and Destination paths to have the same root. In normal drive-letter paths this means, for example, both Source and Destination must be on E:\ CrazyCopy will reject a Direct Move such as E:\ to F:\

Folder Shortcut, Junction or Dir SymLink as Destination

This section covers when a Junction, Directory Symbolic Link or Folder Shortcut is used as the Destination Folder. For these operations, the Source Folder is a normal folder being Copied, Safe Moved or Direct OS Moved to the Destination Folder.

Copying or Safe Moving

CrazyCopy can Copy or Safe Move a normal Source Folder to a Destination Folder that is either a Junction or a Directory Symbolic Link.

When a Copy or Safe Move is performed, CrazyCopy follows the Destination reparse point and creates the new Final Destination Folder inside the target folder of the Destination Junction or Destination Directory Symbolic Link.

The new Final Destination Folder is a normal folder and has the same name as the Source Folder. The Destination Junction or Directory Symbolic Link itself remains unchanged.

For a Copy, the original Source Folder remains in place. For a Safe Move, the Source Folder is copied and verified, and the original Source Folder is then removed after the operation completes successfully.

A Folder Shortcut .lnk is not a folder and therefore cannot be used directly as a Destination Folder.

Direct Moving (Safe Move disabled)

When Safe Move is disabled, a normal Source Folder can also be Direct OS Moved to a Destination Junction or Destination Directory Symbolic Link. CrazyCopy follows the Destination reparse point and moves the Source Folder into the target folder of the Junction or Directory Symbolic Link.

The Destination Junction or Directory Symbolic Link itself remains unchanged. The moved Final Destination remains a normal folder with the same name as the original Source Folder. A Direct Move requires the Source and Destination to be on a compatible same-volume/root location. CrazyCopy will reject a Direct Move across different roots/volumes.

A Folder Shortcut (.lnk) cannot be used directly as the Destination Folder.

Copy Over a Shortcut, Junction or Directory Symbolic Link as the Existing Final Destination Folder

This section describes how CrazyCopy behaves when Copy Over is enabled and an object with the same name as the Source Folder already exists inside the Destination Folder. 

For a normal Folder, Junction or Directory Symbolic Link, that existing object can act as the Final Destination and the Source contents are merged into it. A Folder Shortcut .lnk behaves differently. A Shortcut is not a folder and therefore cannot itself be the Final Destination Folder. If a same-named Folder Shortcut exists in the Destination Folder, CrazyCopy leaves the Shortcut untouched and creates a new normal Final Destination Folder beside it.

When the existing Final Destination Folder is being Copied Over, CrazyCopy merges the Source Folder contents into the existing real Folder, Junction target or Directory Symbolic Link target. A same-named .lnk folder shortcut inside a Destination Folder is not considered an existing Final Destination Folder, and is therefore left untouched.

Copy Folder Over an Existing Destination with a Shortcut 

If the Final Destination Folder is a Shortcut and the Source Folder has the same name as the Shortcut then a Copy Over will result in the Source Folder being copied to the Destination Folder, but NO merging with the existing Final Destination Shortcut will take place. 

There will be 2 objects with the same name in the Destination Folder, the Source Folder which is a normal Folder and the original Shortcut.

Result of a Folder Shortcut Copying Over an Existing Shortcut 

Source Folder: source_copy_over

Destination Folder already contains: source_copy_over.lnk

Destination Folder
│
├── source_copy_over.lnk     ← original Shortcut, unchanged
│
└── source_copy_over\        ← new normal Final Destination Folder

image.png

Copy a Shortcut Over an Existing Destination with a Shortcut

A Folder Shortcut cannot be used as a CrazyCopy Source Folder because the .lnk file is not itself a folder. Therefore, a Folder Shortcut cannot Copy Over any existing Final Destination Folder, whether that Final Destination is a :

Copy a Junction Over an Existing Destination with a Shortcut

A Junction can be a Source Folder. When a Junction is copied into a Destination Folder with an existing Shortcut with the same Name, the Junction is copied as a normal Folder in the Destination Folder, and the two do not merge even though they have the same names.

image.png

No merge occurs with the existing Shortcut, And the result is

Destination Folder
│
├── JunctionName.lnk         ← original Shortcut, unchanged
│
└── JunctionName\            ← new normal Folder
    └── copied contents from the Source Junction target

image.png

Copy a Directory Symbolic Link Over an Existing Destination with a Shortcut

A Directory Symbolic Link can be a Source Folder. When a Directory Symbolic Link is copied into a Destination Folder with an existing Shortcut with the same Name, the Directory Symbolic Link is copied as a normal Folder in the Destination Folder, and the two do not merge, even though they have the same names.

image.png

No merge occurs with the existing Shortcut.And the result is

Destination Folder
│
├── SymbolicLinkName.lnk     ← original Shortcut, unchanged
│
└── SymbolicLinkName\        ← new normal Folder
    └── copied contents from the Source Symbolic Link target

image.png

Copy Over a Junction with a Directory Symbolic Link, Junction or Folder 

Copying over an existing Junction in a Destination Folder results in the Junction remaining unchanged and the contents exposed through the Source Directory Symbolic Link, Junction or Normal Folder being merged into the Destination Junction's target folder.

Destination Folder
│
└── FinalDestination         ← existing Junction
        │
        └────► Junction Target
               ├── existing contents
               └── copied Source contents

Copy Over a Dir Symbolic Link with a Dir Symbolic Link, Junction or Folder 

Copying over an existing Directory Symbolic Link in a Destination Folder results in the Directory Symbolic Link remaining unchanged and the contents exposed through the Source Directory Symbolic Link, Junction or Normal Folder are merged into the Destination Directory Symbolic Link's target folder.

Destination Folder
│
└── FinalDestination         ← existing Directory Symbolic Link
        │
        └────► Symlink Target
               ├── existing contents
               └── copied Source contents

Copy Over an Existing Normal Folder with a Dir Symbolic Link, Junction or Folder 

If the existing Final Destination is a normal Folder, CrazyCopy merges the Source contents directly into that existing folder.

The Source may be:

For a Junction or Directory Symbolic Link Source, the contents exposed through the Source object's target are merged into the existing normal Final Destination Folder.

The Source Junction or Directory Symbolic Link itself is not recreated at the Destination.

TLDR: Overview of using Junctions, Directory Symbolic Links and Folder Shortcuts as the Source and Destination Folders for Copy, Copy Over, Safe Move and Move

A quick table based section for reference.

Copy Over Rules

For Copy Over, the Destination Folder is a normal folder containing an existing object with the same name as the Source Folder. That existing object may be a normal Folder, Junction, Directory Symbolic Link, or a same-base-name Folder Shortcut .lnk

Final Destination Type Source Type Action - Copy Over Existing Shortcut Was the Existing Final Destination Merged? Destination Folder
Shortcut Normal Folder Copy Over No

Destination Folder contains 

the original Shortcut and a newly copied normal folder made from the source folder

both the original shortcut and the new normal Folder have the same names and contents

Shortcut Shortcut Copy Over Illegal - Can't Copy a Source Shortcut Destination Folder stays the same as before the failed Copy Over attempt
Shortcut Junction Copy Over No

Destination Folder contains 

the original Shortcut and newly copied normal folder made from the source Junction

both the original shortcut and the new normal Folder have the same names and contents

Shortcut Directory Symbolic Link Copy Over No

Destination Folder contains 

the original Shortcut and newly copied normal folder made from the source Dir Link

both the original shortcut and the new normal Folder have the same names and contents

Junction Normal Folder Copy Over Yes

The existing Final Destination Folder Junction remains a junction. No second normal folder is created. The Source folder contents are merged with the existing contents in the junction's target folder.

 

Junction Shortcut Copy Over

No

Illegal - Can't Copy a Source Shortcut

Final Destination Folder stays the same as before the failed Copy Over attempt
Junction Junction Copy Over No

The existing Destination Junction remains unchanged. Contents exposed through the Source Junction are merged into the Destination Junction's target folder.

 

Junction Directory Symbolic Link Copy Over No

The existing Destination Junction remains unchanged. Contents exposed through the Source Directory Symbolic Link are merged into the Destination Junction's target folder.

Directory Symbolic Link Normal Folder Copy Over Yes

The existing Final Destination Folder directory symlink remains a symlink. The Source normal-folder contents are merged into the symlink's target folder. No second normal folder is created.

Directory Symbolic Link Shortcut Copy Over

No

Illegal - Cant Copy a Source Shortcut

Destination Folder  stays the same as before the failed Copy Over attempt
Directory Symbolic Link Junction Copy Over Yes

The existing Destination directory symlink remains unchanged. The contents exposed through the Source junction are merged into the Destination symlink's target folder.

Directory Symbolic Link Directory Symbolic Link Copy Over Yes

The existing Destination Directory Symbolic Link remains unchanged. Contents exposed through the Source Directory Symbolic Link are merged into the Destination symlink's target folder.

Folder Normal Folder Copy Over Yes

The existing normal Final Destination Folder remains. Source contents are merged directly into it. Existing contents remain alongside the copied Source contents unless overwritten by normal Copy Over rules

Folder Shortcut Copy Over

No

Illegal - Cant Copy a Source Shortcut

Destination Folder remains unchanged.
Folder Junction Copy Over Yes The existing normal Final Destination Folder remains. Contents exposed through the Source Junction are merged directly into it.
Folder Directory Symbolic Link Copy Over Yes The existing normal Final Destination Folder remains. Contents exposed through the Source Directory Symbolic Link are merged directly into it.

If the existing Final Destination is a normal Folder, Junction or Directory Symbolic Link, Copy Over merges into it. If the only same-named object is a .lnk Shortcut, CrazyCopy does not regard that Shortcut as the Final Destination Folder; it leaves the Shortcut untouched and creates a new normal Folder beside it.

Overview of Source Folder Rules

When setting the following object type as the Source Folder and the Destination Folder is a normal folder (without any contents named the same as the Source Folder), the resulting Final Destination Folder can be seen below.

The Direct OS Move operation (not Safe Move) must be an operation from and to the same volume, in other words the Source and Destination must both be the same volume.

A Direct Move (Safe Move disabled) requires the Source and Destination paths to have the same root. For normal drive-letter paths, this means both must use the same drive letter, for example E:\ to E:\ CrazyCopy will reject a Direct Move such as E:\ to F:\

Source Object Type Destination Folder Type Action New Final Destination Folder Contents of Final Destination Folder
Junction Normal Folder Copy Normal Folder – junction folder name is used as the new Final Destination Folder name All contents exposed through the Junction Target Folder are copied into the new normal folder. The original junction and its target remain unchanged.
Junction Normal Folder Direct OS Move Junction – the junction itself is moved into the Destination Folder and keeps its original name The moved junction still points to the same original Junction Target Folder. The target contents are not copied. The original junction no longer exists at the Source location.
Junction Normal Folder Safe Move Normal Folder – junction folder name is used as the new Final Destination Folder name All contents exposed through the Junction Target Folder are copied into the new normal folder. After successful verification, the Source junction is removed. The original Junction Target Folder remains unchanged.
Shortcut Normal Folder Copy Illegal – a Shortcut cannot be used as the Source Folder No Final Destination Folder created as Folder Shortcut is not a Folder
Shortcut Normal Folder Direct OS Move Illegal – a Shortcut cannot be used as the Source Folder No Final Destination Folder created as Folder Shortcut is not a Folder
Shortcut Normal Folder Safe Move Illegal – a Shortcut cannot be used as the Source Folder No Final Destination Folder created as Folder Shortcut is not a Folder
Directory Symbolic Link Normal Folder Copy Normal Folder – symbolic-link folder name is used as the new Final Destination Folder name All contents exposed through the Directory Symbolic Link Target Folder are copied into the new normal folder. The original symbolic link and its target remain unchanged.
Directory Symbolic Link Normal Folder Direct OS Move Directory Symbolic Link – the symbolic link itself is moved into the Destination Folder and keeps its original name The moved symbolic link still points to the same original target folder. The target contents are not copied. The original symbolic link no longer exists at the Source location.
Directory Symbolic Link Normal Folder Safe Move Normal Folder – symbolic-link folder name is used as the new Final Destination Folder name All contents exposed through the Directory Symbolic Link Target Folder are copied into the new normal folder. After successful verification, the Source symbolic link is removed. The original target folder remains unchanged.
Overview of Destination Folder Rules

When setting the following object type as the Destination Folder (not the Final Destination Folder as that is a Copy Over so see table in previous section), and the Source Folder is a Normal Folder, the resulting Final Destination Folder can be seen below.

A Direct OS Move (Safe Move disabled) requires the Source and Destination paths to have the same root. For normal drive-letter paths, both paths must therefore use the same drive letter, for example E:\ to E:\ CrazyCopy rejects a Direct Move between different roots such as E:\ and F:\ 

Source Type Destination Object Type Action New Final Destination Folder Comments
Normal Folder Junction Copy Normal Folder inside the Junction target, using the Source folder name The Destination junction remains unchanged. CrazyCopy follows the Destination junction and creates the new normal Final Destination Folder inside the junction's target. Source remains unchanged.
Normal Folder Junction Direct OS Move Normal Folder inside the Junction target, using the Source folder name The Destination junction remains unchanged. The normal Source folder itself is moved into the junction's target. Source folder is removed from its original location. Direct Move requires compatible/same-volume roots.
Normal Folder Junction Safe Move Normal Folder inside the Junction target, using the Source folder name The Destination junction remains unchanged. Source contents are copied into a new normal folder inside the junction target, verified, then the original Source folder is removed.
Normal Folder Shortcut Copy Illegal – Shortcut cannot be used as the Destination Folder A .lnk is a file, not a folder. CrazyCopy must not accept the shortcut itself as the Destination path.
Normal Folder Shortcut Direct OS Move Illegal – Shortcut cannot be used as the Destination Folder Same reason: the .lnk cannot be supplied as the Destination Folder.
Normal Folder Shortcut Safe Move Illegal – Shortcut cannot be used as the Destination Folder Same reason: the .lnk cannot be supplied as the Destination Folder.
Normal Folder Directory Symbolic Link Copy Normal Folder inside the Directory Symbolic Link target, using the Source folder name The Destination directory symlink remains unchanged. CrazyCopy follows it and creates the Final Destination Folder inside its target. Source remains unchanged.
Normal Folder Directory Symbolic Link Direct OS Move Normal Folder inside the Directory Symbolic Link target, using the Source folder name The Destination symlink remains unchanged. The normal Source folder itself is moved into the symlink's target. Source disappears from its original location. Direct Move requires compatible/same-volume roots.
Normal Folder Directory Symbolic Link Safe Move Normal Folder inside the Directory Symbolic Link target, using the Source folder name The Destination symlink remains unchanged. Source contents are copied into a new normal folder inside the symlink target, verified, then the original Source folder is removed.


Revision #14
Created 1 October 2026 20:12:43 by marcus
Updated 25 October 2026 00:47:58 by marcus