É possível criar subpastas no menu "Enviar para" do contexto do Explorer

8

Eu tenho muitos destinos "enviar para". Gostaria de criar subpastas na pasta "Enviar para". Isso é possível? Quando tento, ele cria apenas uma pasta real na pasta SendTo.

Desejo selecionar um item no menu de contexto "Enviar para" para expandir para uma lista de destinos SendTo para esse grupo.

aceso
fonte
1
Essa é uma daquelas coisas que você nunca percebeu que queria até descobrir que provavelmente não é possível. Espero que você encontre uma resposta!
Michael Frank
1
@ Psycogeek - Obrigado pelo seu interesse nesta questão. Espero que alguma resposta criativa apareça.
iluminou
1
Maio alguns escrevem salvador uma extensão de shell para você ...
guest-vm

Respostas:

9

Uma abordagem alternativa para sua referência:

cardápio

Salvar os seguintes itens *.rege importar para o registro (adaptado da Sully @ Wilders Security )

Editor do Registro do Windows versão 5.00

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu]
"Ícone" = "shell32.dll, 43"
"Subcomandos" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1]
"MUIVerb" = "Editor de texto"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item1]
"MUIVerb" = "Bloco de notas ++"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item1 \ command]
@ = "C: \ Arquivos de programas \\ npp \\ bloco de notas ++. Exe% 1"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item2]
"MUIVerb" = "Texto sublime"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item2 \ command]
@ = "C: \ Arquivos de programas \\ Sublime Text 3 \\ sublime_text.exe% 1"


[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu2]
"MUIVerb" = "Áudio"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu2 \ shell \ item1]
"MUIVerb" = "Audacity"

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

Referências
AskVG
Directory Opus Resource Center


Adendo: menu Pseudo-Pasta

cardápio

Salvar como C:\copy.js

função fnCopyHereJ (src, dest) {
    var objShell = novo ActiveXObject ("shell.application");
    var objFolder = objShell.NameSpace (dest);

    if (objFolder) {
        objFolder.CopyHere (src);
    } outro {
        WScript.echo ("Pasta Inválida:" + dest);
    }
}

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

Importar para registro

Editor do Registro do Windows versão 5.00

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu]
"Ícone" = "shell32.dll, 43"
"Subcomandos" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1]
"Ícone" = "imageres.dll, -113"
"MUIVerb" = "Imagem"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item1]
"Ícone" = "shell32.dll, 3"
"MUIVerb" = "Pasta 1"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item1 \ command]
@ = "wscript C: \\ copy.js% 1 C: \\ Usuários \\ 01 \\ Imagens"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item2]
"Ícone" = "shell32.dll, 3"
"MUIVerb" = "Pasta 2"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu1 \ shell \ item2 \ command]
@ = "wscript C: \\ copy.js% 1 \" C: \\ Nova pasta \ ""


[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu2]
"Ícone" = "imageres.dll, -108"
"MUIVerb" = "Música"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu2 \ shell \ item1]
"Ícone" = "shell32.dll, 3"
"MUIVerb" = "Pasta 1"

[HKEY_CLASSES_ROOT \ * \ shell \ Meu menu \ shell \ menu2 \ shell \ item1 \ command]
@ = "wscript C: \\ copy.js% 1 C: \\ Usuários \\ 01 \\ Música"


[HKEY_CLASSES_ROOT \ Directory \ shell \ Meu Menu]
"Ícone" = "shell32.dll, 43"
"ExtendedSubCommandsKey" = "* \\ shell \\ Meu Menu"

Referências
Invocar a cópia do Windows do
método PowerShell Folder.CopyHere (Windows)
Cascading menus de contexto por meio de entradas de registro estáticas e ExtendedSubCommandsKey

guest-vm
fonte
Essa é uma boa ideia. Parece que tudo isso é usado para iniciar programas (por exemplo, Notepad ++, Audacity, etc.). Qualquer um dos destinos pode simplesmente ser um diretório para onde o arquivo é copiado? Ainda não é o mesmo que usar o item "Enviar para" que as pessoas já conhecem. Eu preciso compartilhar isso com um grupo, de 15 a 20 pessoas.
aceso
Desculpe, acho que não pode. Solução alternativa como @="cmd /c copy %1 NewFolder"é instável e diferem de expectativa de usuário (o que se% 1 é uma pasta assustador cmd prompt perguntando se deseja substituir?)
guest-vm
Ok, isso não pode ser feito. Vou verificar isso como a resposta, mas não atinge o objetivo original. Obrigado pela ajuda.
aceso
1
Veja a resposta atualizada. Você pode construir manualmente o destino para a pasta dessa maneira. Ele também lida com o caso quando% 1 é uma pasta e solicita a substituição pela GUI padrão.
guest-vm