È possibile creare sottocartelle nel menu "Invia a" nel contesto di Explorer


8

Ho molte destinazioni "invia a". Vorrei creare sottocartelle nella cartella "Invia a". È possibile? Quando provo, creerà solo una cartella reale nella cartella SendTo.

Voglio selezionare un elemento dal menu contestuale "Invia a" per espanderlo in un elenco di destinazioni SendTo per quel gruppo.


1
Questa è una di quelle cose che non hai mai realizzato di desiderare finché non scopri che probabilmente non è possibile. Spero tu trovi una risposta!
Michael Frank,

1
@Psycogeek - Grazie per l'interesse dimostrato per questa domanda. Spero che appaia una risposta creativa.
illuminato il

1
Possa qualche salvatore scrivere un'estensione shell per te ...
guest-vm

Risposte:


9

Un approccio alternativo per il tuo riferimento:

menù

Salva i seguenti come *.rege importa nel registro (adattato da Sully @ Wilders Security )

Editor del registro di Windows Versione 5.00

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

[HKEY_CLASSES_ROOT \ * \ shell \ My Menu \ shell \ menu1]
"MUIVerb" = "Editor di testo"
"Sottocomandi" = ""

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

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

[HKEY_CLASSES_ROOT \ * \ shell \ My Menu \ shell \ menu1 \ shell \ item2]
"MUIVerb" = "Testo sublime"

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


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

[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"

Referenze
AskVG
Directory Opus Resource Center


Addendum: menu Pseudo-cartella

menù

Salva come C:\copy.js

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

    if (objFolder) {
        objFolder.CopyHere (src);
    } altro {
        WScript.echo ("Cartella non valida:" + dest);
    }
}

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

Importa nel registro

Editor del registro di Windows Versione 5.00

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

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

[HKEY_CLASSES_ROOT \ * \ shell \ My Menu \ shell \ menu1 \ shell \ item1]
"Icon" = "shell32.dll, 3"
"MUIVerb" = "Cartella 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" = "Cartella 2"

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


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

[HKEY_CLASSES_ROOT \ * \ shell \ My Menu \ shell \ menu2 \ shell \ item1]
"Icon" = "shell32.dll, 3"
"MUIVerb" = "Cartella 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 \\ Mio menu"

Riferimenti
Richiamare la copia di Windows da PowerShell
Folder.CopyHere metodo (Windows) Menu di scelta rapida a
cascata tramite voci di registro statiche e ExtendedSubCommandsKey


Questa è una buona idea. Sembra che questi siano tutti usati per avviare programmi (es. Notepad ++, Audacity, ecc.). Una delle destinazioni può essere semplicemente una directory in cui viene copiato il file? Non è ancora lo stesso che usare l'elemento "Invia a" che le persone già conoscono. Devo condividerli con un gruppo di 15-20 persone.
acceso il

Scusa, non penso che possa. La soluzione alternativa @="cmd /c copy %1 NewFolder"è traballante e differisce dalle aspettative dell'utente (cosa succede se% 1 è una cartella? Cmd prompt spaventoso che chiede se sovrascrivere?)
guest-vm

Ok, non si può fare. Controllerò questa come risposta, ma non raggiunge l'obiettivo originale. Grazie per l'aiuto.
acceso il

1
Vedi la risposta aggiornata. In questo modo puoi costruire manualmente la destinazione nella cartella. Gestisce anche il caso in cui% 1 è una cartella e richiede di sovrascrivere con la GUI standard.
guest-vm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.