在 Windows 資源管理器上下文功能表中變更「移動到 onedrive」的助記符

在 Windows 資源管理器上下文功能表中變更「移動到 onedrive」的助記符

我不想刪除“移動到 onedrive”,只需刪除助記符 M,它會控制“重命名”的助記符。

其他上下文項助記符可以透過編輯設定上下文條目的註冊表項中與號碼的位置來更改,但我在註冊表搜尋中找不到包含該文字的任何項,並且上下文選單中有關Onedrive 的所有提示似乎僅包含程式 ID 號碼。

(當我想重命名時,它會導致文件意外移動到 onedrive - 必須拖網並將文件移回,這非常煩人。)

答案1

Move to OneDrive我找到了新增到檔案項目上下文選單的 註冊表項:HKEY_CURRENT_USER\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\ FileSyncEx 預設值為: {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

由於選單文字是硬編碼在 中.dll,因此無法修改。

因此,為了實現您想要的行為,請透過在前面添加任何隨機字元來Move to OneDrive編輯上述鍵的資料來停用「內建」 。(Default)我用:
XXX {CB3D0F55-BC2C-4C1A-85ED-23ED75B5106B}

在此輸入影像描述

然後透過具有不同助記符的自訂上下文選單項目重新建立它。將以下內容儲存為.reg文件並合併。

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


您將看到藍色閃光電源外殼窗口,這讓一些人煩惱,並且可以通過一些我從來不關心的技巧來消除。藍色閃光讓您知道它正在工作! :D

不像內建版本那麼智能,因為這會出現在OneDrive層次結構中已有的文件中,但這對於有認知的用戶來說沒什麼大不了的。

相關內容