Author Topic: Move folder to link/junction whose target is on source drive fails  (Read 3702 times)

bicyclops

  • Newbie
  • *
  • Posts: 10
    • View Profile
The scenario:
D:\source is a folder containing some files
D:\target is a folder on the same drive
E:\link is a symbolic link or folder junction whose target is D:\target

Set left pane to view D:\
Set right pane to view E:\link\
Select source in left pane
Move (F6 or Move Selected Files)
source folder is created in D:\target but none of the files in source are moved
D:\source\ still exists and contains the same files as in the beginning
D:\target\source is empty

Notes:
Works correctly if Copy is used instead of Move
Works correctly if link is on the same drive as source
Works correctly if target is on different drive from source
Works correctly if you move files rather than folders

« Last Edit: June 04, 2022, 19:06:14 by bicyclops »

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Yes this is a know problem I got on my list. It is a weird edge case.

Problem is that at first it detected that D:\Source and E:\Link really are the same volume
And if you do a move on same volume, the file content is not copied. the entry in the filesystem is just renamed so it is located on a new path . Like if you did not go via the symlink..  Then D:\Source would just be renamed to D:\Target\Source and no need to copy data. But this does not work over a symlink.

There are also a couple of way to solve this. Problem is that both have there own issue and drawback.

Not even windows explorer is consistent..
Copy D:\Source to E:\Link it will resolve the link and do a rename
Copy from D:\Source to E:\Link\SubFolder it does a full copy
and copying from E:\Link to D:\ it will do a full copy.

I will see if there are some easy fix for this.


bicyclops

  • Newbie
  • *
  • Posts: 10
    • View Profile
Re: Move folder to link/junction whose target is on source drive fails
« Reply #2 on: August 11, 2022, 22:04:35 »
Fixed in 12.0
Thanks