Skip to content

Instantly share code, notes, and snippets.

@maxkagamine
Last active December 22, 2024 04:07
Show Gist options
  • Save maxkagamine/0c31f5ec6fdd3fb43a1d72ae033b4c90 to your computer and use it in GitHub Desktop.
Save maxkagamine/0c31f5ec6fdd3fb43a1d72ae033b4c90 to your computer and use it in GitHub Desktop.
Recycle Bin can be enabled on a mapped network drive by defining a Known Folder in the registry. (Also a way to create custom user folders. For adding folders to This PC, though, it seems you need to create a CLSID entry instead; use Winaero Tweaker for that.)
Windows Registry Editor Version 5.00
; For folder icons, set folder to read-only and create a desktop.ini set to
; read-only|system|hidden with contents:
; [.ShellClassInfo]
; IconResource=C:\Path\To\Icon.ico,0
; Remember to change the guid for each known folder:
; https://www.guidgenerator.com/
; https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/ns-shobjidl_core-knownfolder_definition
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{E40D77EC-D4D6-4099-9746-A81C56EA49D5}]
"Category"=dword:00000004
; The known folder name can be typed into the explorer address bar (or Run
; dialog, etc.) to navigate to the folder, e.g. "shell:Books"
"Name"="Books"
; Uncomment ParentFolder to make relative to user profile folder
; Other known folder ids: https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid#constants
;"ParentFolder"="{5E6C858F-0E22-4760-9AFE-EA3317B67173}"
"RelativePath"="S:\\Books"
; Enables recycle bin for a location that otherwise wouldn't have one (i.e. network share)
; 500,000 MB = 0007a120
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\KnownFolder\{E40D77EC-D4D6-4099-9746-A81C56EA49D5}]
"MaxCapacity"=dword:0007a120
"NukeOnDelete"=dword:00000000
@smartcooky99
Copy link

Yup... worked perfectly... recycles to the bin from the network drive, and restores OK as well

Didn't even need to escape the backslashes

Thank you!!

@JF6723
Copy link

JF6723 commented Dec 22, 2024

I am wondering if you might have a solution to a problem I am having. I have done all of these steps and I am able to setup a recycle bin in each network drive. When I view them in command prompt I can see a file for the file contents and a file for the name of the file. I cannot seem to restore a file from the recycle bin GUI or delete a file. When I ask it to either of these things it just does nothing.

Local disk recycle bin works just fine.

When I view the recycle bins from command prompt I can move files in and out of each of them. The names are scrambled so this works but would be tricky to find the files I need.

More info: if I navigate to network drives recycle bin folder I can restore their files just fine. The problem seems to be the built-in recycle bin app/function from the local desktop. It seems to detect all available recycle bins but it cannot restore to a network drive. I think this is because it only looks at the local recycle bin folder.

I do not know how to solve this problem but I do at least have a visual way to do it too while keeping the name intact by navigating to network drive bins directly from within file explorer. I need to manually delete the network bin from command prompt though if I want the files gone completely.

Would be good to have the basic functionality with the local bin if there is any idea. I am on Windows 11.

@maxkagamine
Copy link
Author

@JF6723 So you're able to recycle files but can't restore or empty the recycle bin? Odd, I haven't encountered that before so unfortunately I don't know of a solution. My only thought is to delete/rename the $RECYCLE.BIN directory from the terminal and try deleting & restoring a file again; maybe something got borked. Could be related to permissions... though probably not, if command prompt works. The Security tab doesn't show up in the Properties for a recycle bin, but you can $(Get-Acl '$RECYCLE.BIN').Access from PowerShell to check anyway. That's about all I can think of right now, I'm afraid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment