Mnemonik für „Auf OneDrive verschieben“ im Kontextmenü des Windows Explorers ändern

Mnemonik für „Auf OneDrive verschieben“ im Kontextmenü des Windows Explorers ändern

Ich möchte „Auf OneDrive verschieben“ nicht entfernen, sondern nur die Eselsbrücke M, die die Eselsbrücke für „Umbenennen“ trollt.

Die Mnemonik anderer Kontextelemente kann geändert werden, indem die Stelle im Registrierungsschlüssel bearbeitet wird, an der sich das Et-Zeichen befindet und der den Kontexteintrag einrichtet. Bei einer Registrierungssuche konnte ich jedoch keinen Schlüssel mit diesem Text finden und alle Tipps zu Onedrive im Kontextmenü scheinen nur die Programm-ID-Nummer zu enthalten.

(Dies führt dazu, dass Dateien versehentlich auf OneDrive verschoben werden, wenn ich sie umbenennen möchte. Es ist äußerst ärgerlich, die Datei erst suchen und wieder zurück verschieben zu müssen.)

Antwort1

Ich habe den Registrierungsschlüssel gefunden, der Move to OneDrivezum Kontextmenü für Dateielemente hinzugefügt wird: HKEY_CURRENT_USER\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ FileSyncEx mit dem Standardwert: {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

Da der Menütext fest codiert ist .dll, kann er nicht geändert werden.

Um das gewünschte Verhalten zu erreichen, deaktivieren Sie die „integrierte Funktion“, Move to OneDriveindem Sie die (Default)Daten des obigen Schlüssels bearbeiten und beliebige Zeichen voranstellen. Ich verwende:
XXX {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

Bildbeschreibung hier eingeben

und erstellen Sie es dann über ein benutzerdefiniertes Kontextmenüelement mit einer anderen Mnemonik neu. Speichern Sie Folgendes als .regDatei und führen Sie es zusammen.

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()\""


Sie erhalten den blauen Blitz desPower ShellFenster, das manche stört und durch einen Trick beseitigt werden kann, den ich nie mache. Der blaue Blitz zeigt an, dass es funktioniert! :D

Nicht ganz so intelligent wie die integrierte Version, da dies für Dateien angezeigt wird, die sich bereits in der OneDriveHierarchie befinden, aber für einen aufmerksamen Benutzer ist das kein großes Problem.

verwandte Informationen