Cambie el mnemotécnico para "mover a onedrive" en el menú contextual del Explorador de Windows

Cambie el mnemotécnico para "mover a onedrive" en el menú contextual del Explorador de Windows

No quiero eliminar "mover a onedrive", simplemente eliminar el mnemotécnico M que controla el mnemotécnico para "cambiar nombre".

Se pueden cambiar otros mnemotécnicos de elementos de contexto editando dónde está el signo comercial en la clave de registro configurando la entrada de contexto, pero no pude encontrar ninguna clave que contenga ese texto en una búsqueda en el Registro, y todos los consejos sobre Onedrive en el menú contextual parecen contener sólo el número de identificación del programa.

(Esto provoca que los archivos se muevan accidentalmente a OneDrive cuando quiero cambiarles el nombre; es extremadamente molesto tener que rastrear y mover el archivo hacia atrás).

Respuesta1

Encontré la clave de Registro que agrega Move to OneDriveal menú contextual para elementos de archivo: HKEY_CURRENT_USER\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ FileSyncEx con un valor predeterminado de: {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

Como el texto del menú está codificado en el archivo .dll, no se puede modificar.

Entonces, para lograr el comportamiento que desea, desactive el "integrado" Move to OneDriveeditando los (Default)datos de la clave anterior anteponiendo cualquier carácter aleatorio. Yo suelo:
XXX {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

ingrese la descripción de la imagen aquí

y luego recrearlo a través de un elemento del menú contextual personalizado con un mnemotécnico diferente. Guarde lo siguiente como un .regarchivo y combínelo.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\MoveToOneDrive]
@="Move to OneDrive"
"Icon"=hex(2):25,00,4c,00,6f,00,63,00,61,00,6c,00,41,00,70,00,70,00,44,00,61,\
  00,74,00,61,00,25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,\
  74,00,5c,00,4f,00,6e,00,65,00,44,00,72,00,69,00,76,00,65,00,5c,00,4f,00,6e,\
  00,65,00,44,00,72,00,69,00,76,00,65,00,2e,00,65,00,78,00,65,00,2c,00,30,00,\
  00,00

; Icon=%LocalAppData%\Microsoft\OneDrive\OneDrive.exe,0

; pure com objects
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\MoveToOneDrive\Command]
@="PowerShell.exe -WindowStyle Hidden -Command \"gi -LiteralPath '%1' | sv 'File' ; ($comFolder = ($shell = New-Object -com shell.application).NameSpace('shell:OneDrive')).MoveHere($file.FullName) ; $comFolder.Self.InvokeVerb() ; (@($shell.windows()).Where({$_.LocationName -eq $comFolder.Title}))[0].Document.SelectItem($comFolder.ParseName($File.Name),17)\""

; String construction
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\MoveToOneDrive\xxCommand]
@="PowerShell.exe -WindowStyle Hidden -Command \"($comFolder = $shell.NameSpace('shell:OneDrive')).MoveHere('%1') ; Invoke-Expression ('explorer /select,{0}{1}{0}' -f [char]34 , ( Join-Path  $comFolder.Self.Path ( '%1'.Split('\\')[-1] )))\""

; First draft
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\MoveToOneDrive\xCommand]
@="PowerShell.exe -WindowStyle Hidden -Command \"($comFolder = (New-Object -com shell.application).NameSpace('shell:OneDrive')).MoveHere('%1') ; $comFolder.Self.InvokeVerb()\""


Obtendrá el destello azul delPotencia Shellventana, que molesta a algunos y que puede eliminarse mediante algún truco que nunca hago. ¡El flash azul te permite saber que está funcionando! :D

No es tan inteligente como la versión integrada, ya que aparecerá para archivos que ya están dentro de la OneDrivejerarquía, pero eso no es gran cosa para un usuario informado.

información relacionada