Les sous-dossiers peuvent-ils être créés dans le menu contextuel de l'explorateur "envoyer à"


8

J'ai de nombreuses destinations "envoyer vers". Je souhaite créer des sous-dossiers dans le dossier "Envoyer vers". Est-ce possible? Lorsque j'essaye, il crée uniquement un vrai dossier dans le dossier SendTo.

Je souhaite sélectionner un élément dans le menu contextuel "Envoyer vers" pour développer une liste de destinations SendTo pour ce groupe.


1
C'est une de ces choses que vous n'avez jamais réalisé que vous vouliez jusqu'à ce que vous découvriez que ce n'est probablement pas possible. J'espère que vous trouverez une réponse!
Michael Frank

1
@Psycogeek - Merci de votre intérêt pour cette question. J'espère qu'une réponse créative apparaîtra.
allumé le

1
Puisse un sauveur écrire une extension de shell pour vous ...
guest-vm

Réponses:


9

Une approche alternative pour votre référence:

menu

Enregistrer les suivis sous *.reget importer dans le registre (adapté de Sully @ Wilders Security )

Éditeur de registre Windows version 5.00

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu]
"Icon" = "shell32.dll, 43"
"Sous-commandes" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1]
"MUIVerb" = "Éditeur de texte"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1 \ shell \ item1]
"MUIVerb" = "Bloc-notes ++"

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1 \ shell \ item1 \ command]
@ = "C: \\ Program Files \\ npp \\ notepad ++. Exe% 1"

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1 \ shell \ item2]
"MUIVerb" = "Texte sublime"

[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 \ Mon menu \ shell \ menu2]
"MUIVerb" = "Audio"
"SubCommands" = ""

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

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

Références
AskVG
Directory Opus Resource Center


Addendum: menu Pseudo-dossier

menu

Enregistrer sous C:\copy.js

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

    if (objFolder) {
        objFolder.CopyHere (src);
    } autre {
        WScript.echo ("Dossier non valide:" + dest);
    }
}

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

Importer dans le registre

Éditeur de registre Windows version 5.00

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu]
"Icon" = "shell32.dll, 43"
"Sous-commandes" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1]
"Icon" = "imageres.dll, -113"
"MUIVerb" = "Image"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1 \ shell \ item1]
"Icon" = "shell32.dll, 3"
"MUIVerb" = "Dossier 1"

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

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu1 \ shell \ item2]
"Icon" = "shell32.dll, 3"
"MUIVerb" = "Dossier 2"

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


[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu2]
"Icon" = "imageres.dll, -108"
"MUIVerb" = "Musique"
"SubCommands" = ""

[HKEY_CLASSES_ROOT \ * \ shell \ Mon menu \ shell \ menu2 \ shell \ item1]
"Icon" = "shell32.dll, 3"
"MUIVerb" = "Dossier 1"

[HKEY_CLASSES_ROOT \ * \ shell \ Mon 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 \\ Mon menu"

Références
Appelez une copie de Windows à partir de la
méthode PowerShell Folder.CopyHere (Windows)
Menus contextuels en cascade via des entrées de registre statiques et ExtendedSubCommandsKey


C'est une bonne idée. Il semble que ceux-ci sont tous utilisés pour démarrer des programmes (ie. Notepad ++, Audacity, etc.). L'une des cibles peut-elle simplement être un répertoire vers lequel le fichier est copié? Ce n'est toujours pas la même chose que d'utiliser l'élément "Envoyer à" que les gens connaissent déjà. Je dois les partager avec un groupe de 15 à 20 personnes.
allumé le

Désolé, je ne pense pas que ce soit possible. La solution de contournement @="cmd /c copy %1 NewFolder"est fragile et diffère des attentes des utilisateurs (que faire si% 1 est un dossier? Une invite cmd effrayante demandant s'il faut écraser?)
guest-vm

Ok, ça ne peut pas se faire. Je vais vérifier cela comme réponse, mais cela n'atteint pas l'objectif initial. Merci de votre aide.
allumé le

1
Voir la réponse mise à jour. Vous pouvez construire manuellement la cible vers le dossier de cette façon. Il gère également le cas lorsque% 1 est un dossier et invite à remplacer par l'interface graphique standard.
guest-vm
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.