8

I have many "send to" destinations. I would like to create sub-folders in the "Send to" folder. Is this possible? When I try, it will only create a real folder in the SendTo folder.

I want selecting an item from the "Send to" context menu to expand out into a list of SendTo destinations for that group.

  • 1
    This is one of those things you never realised you wanted until you find out it's probably not possible. I hope you find an answer! – Michael Frank Jul 14 '16 at 20:59
  • 1
    @Psycogeek - Thank you for your interest in this question. I hope some creative answer will appear. – lit Jul 18 '16 at 8:11
  • 1
    May some savior write a shell extension for you... – guest-vm Jul 20 '16 at 15:49
9
+300

An alternative approach for your reference:

menu

Save followings as *.reg and import to registry (adapted from Sully@Wilders Security)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\My Menu]
"Icon"="shell32.dll,43"
"Subcommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1]
"MUIVerb"="Text Editor"
"SubCommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item1]
"MUIVerb"="Notepad++"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item1\command]
@="C:\\Program Files\\npp\\notepad++.exe %1"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item2]
"MUIVerb"="Sublime Text"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item2\command]
@="C:\\Program Files\\Sublime Text 3\\sublime_text.exe %1"


[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2]
"MUIVerb"="Audio"
"SubCommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2\shell\item1]
"MUIVerb"="Audacity"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2\shell\item1\command]
@="audacity.exe %1"

References
AskVG
Directory Opus Resource Centre


Addendum: Pseudo-Folder menu

menu

Save as C:\copy.js

function fnCopyHereJ(src, dest) {
    var objShell = new ActiveXObject("shell.application");
    var objFolder = objShell.NameSpace(dest);

    if (objFolder) {
        objFolder.CopyHere(src);
    } else {
        WScript.echo("Invalid Folder: "+dest);
    }
}

args = WScript.Arguments;
fnCopyHereJ(args(0), args(1));

Import to registry

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\My Menu]
"Icon"="shell32.dll,43"
"Subcommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1]
"Icon"="imageres.dll,-113"
"MUIVerb"="Picture"
"SubCommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item1]
"Icon"="shell32.dll,3"
"MUIVerb"="Folder 1"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item1\command]
@="wscript C:\\copy.js %1 C:\\Users\\01\\Pictures"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item2]
"Icon"="shell32.dll,3"
"MUIVerb"="Folder 2"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu1\shell\item2\command]
@="wscript C:\\copy.js %1 \"C:\\New Folder\""


[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2]
"Icon"="imageres.dll,-108"
"MUIVerb"="Music"
"SubCommands"=""

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2\shell\item1]
"Icon"="shell32.dll,3"
"MUIVerb"="Folder 1"

[HKEY_CLASSES_ROOT\*\shell\My Menu\shell\menu2\shell\item1\command]
@="wscript C:\\copy.js %1 C:\\Users\\01\\Music"


[HKEY_CLASSES_ROOT\Directory\shell\My Menu]
"Icon"="shell32.dll,43"
"ExtendedSubCommandsKey"="*\\shell\\My Menu"

References
Invoke Windows copy from PowerShell
Folder.CopyHere method (Windows)
Cascading context menus via static registry entries and ExtendedSubCommandsKey

  • This is a good idea. It appears that these are all used to start programs (ie. Notepad++, Audacity, etc.). Can any of the targets simply be a directory to where the file is copied? It is still not the same as using the "Send to" item that people already know. I need to share these with a group, 15-20 people. – lit Jul 20 '16 at 14:24
  • Sorry, I don't think it can. Workaround like @="cmd /c copy %1 NewFolder" is shaky and differ from user expectation (what if %1 is a folder? scary cmd prompt asking whether to overwrite?) – guest-vm Jul 20 '16 at 15:46
  • Ok, it cannot be done. I will check this as the answer, but it does not achieve the original goal. Thanks for your help. – lit Jul 20 '16 at 19:37
  • 1
    See updated answer. You may manually construct target to folder this way. It also handles the case when %1 is folder and prompt to overwrite with standard GUI. – guest-vm Jul 22 '16 at 13:36

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.