5

Related to this question but not identical.

Scenario:

C:\Folder\Symlink\ is a symlink pointing to E:\Folder\Folder\Target\

Problem:

Deleting a file through C:\Folder\Symlink\* bypasses the Recycle Bin, even though both C: and E: have the Recycle Bin enabled. This only seems to happen with cross-volume symlinks.

Example:

  1. Using the above symlink structure, create a file C:\Folder\Symlink\somefile.txt
  2. Delete C:\Folder\Symlink\somefile.txt by using either the Delete key or right-click > Delete.
  3. The prompt comes up for immediate deletion, instead of offering to send the file to the Recycle Bin.

Question:

Can anyone else reproduce this, and is there a fix?

Update:

Did some more digging and was able to further isolate the issue.

In the list below, Denied specifies a folder that has access permissions revoked for the current user. All other folders have Full Control. Permissions are not inherited. Each folder has explicit permissions.

  • C:\Folder\Symlink\ => E:\Denied\Denied\Target\ = Recycle Bin? NO
  • C:\Folder\Symlink\ => E:\Allowed\Denied\Target\ = Recycle Bin? YES
  • C:\Folder\Symlink\ => E:\Allowed\Denied\Denied\Target\ = Recycle Bin? NO
  • C:\Folder\Symlink\ => E:\Allowed\Allowed\Denied\Target\ = Recycle Bin? YES
  • C:\Folder\Symlink\ => E:\Denied\Allowed\Denied\Target\ = Recycle Bin? YES
  • C:\Folder\Symlink\ => E:\Denied\Denied\Allowed\Target\ = Recycle Bin? NO
  • C:\Folder\Symlink\ => E:\Denied\Denied\Denied\Target\ = Recycle Bin? NO

Adding at least two Denied folders in a row introduces this issue. It seems the shell is not able to see through through more than one consecutive unreadable folder?

  • 2
    I think this behavior is intrinsic to the symlink. After all, which recycle bin should it go to? – soandos Dec 20 '11 at 17:05
  • Why? That would defeat the purpose of a symlink. – soandos Dec 20 '11 at 17:57
  • Read the answer. That is what I mean. The purpose of a symlink is that it does not matter at all where the file "actually" is. – soandos Dec 20 '11 at 18:15
  • It doesn't seem likely that permissions are the case. The Recycle Bin is part of the Shell. All the Shell cares about is if you have permission to delete the file in the first place. Explicit permissions that are not inherited just don't make sense here. You need to specify the permission regarding the file itself. The file's permissions != the containing folder's permissions. If a file is hardlinked to two different folders, it doesn't inherit permissions from both folders. – surfasb Dec 21 '11 at 4:21
  • I'll have to test this out also. – surfasb Dec 22 '11 at 5:32
1

Sorry, nope, no fix. It's "by-design". If the delete dialog cannot determine the physical location of the file, the permanent delete dialog is shown instead. With a symlink, the physical location of the file is "indeterminate" at best... so no-chance for the move-to-recycle bin option.

  • Huh? If the physical location were "indeterminate", symlinks would be useless, no? – kreemoweet Dec 20 '11 at 18:47
  • Not at all. The physical location is not the same as the path. The same problem exists on network paths via UNC... or web-based files... etc. If the delete dialog isn't provided physical location to the file (i.e. c:\filename), it's treated as if it came from somewhere else. Symlinks aren't the same as hard links. – TheCompWiz Dec 20 '11 at 18:51
1

I have a similar setup, but I get the move to recycling bin prompt.

Cross volume link.

Symblink

Hit Delete

Delete

  • Umm, I can't tell which one it goes to :) The recycle bin is aggregated for local volumes. I'll have to get back with you on that. – surfasb Dec 20 '11 at 18:24
  • Yeah, it shows up in the target's volume location (C in my case). – surfasb Dec 20 '11 at 18:28
  • The two dialogs you show do not seem to have any relation to each other. Could you clarify? – kreemoweet Dec 20 '11 at 18:45
  • @kreemoweet: I followed the OP's instructions. I posted these pics to show I got a different result. – surfasb Dec 20 '11 at 18:52
  • Perhaps there's something about having physical and virtual locations available in the same paths. i.e. c:\linked-dir => d:\linked-dir = fine... but c:\other-dir\linked-dir => d:\linked-dir = broken. – TheCompWiz Dec 20 '11 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy