如何添加具有自定义功能的 Windows 资源管理器上下文菜单项?

如何添加具有自定义功能的 Windows 资源管理器上下文菜单项?

我希望能够在 Windows 资源管理器中右键单击文件,然后单击 7-Zip 子菜单,而不是像“添加到档案...', 我想要, '添加<filename>-<today's date>.7z

一张图片胜过千言万语:

资源管理器内容菜单

这是 7-Zip 目前不提供的定制(据我所知)。

答案1

7-zip 是开源的,所以我想您可以自己实现此功能(嘻嘻),或者请求/付费让核心开发人员为您实现。作为替代:

您无法通过配置 7-zip 选项来实现这一点,但可以通过创建新的上下文菜单项来实现。文本不会像您的模型那样动态,但结果是一样的。

基本上,您需要做的是创建一个批处理脚本,使用正确的参数启动 7-zip,获取您指定的文件并将其添加到存档中,并提供今天的日期作为文件名。

该脚本将执行此操作(基于这里7ztoday.bat)。将其粘贴到名为:的新文本文件中:

@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B

"%programfiles%\7-zip\7z.exe" a %mm%%dd%%yyyy%.7z %1

然后,使用如下实用程序默认程序编辑器,我们可以为指向此批处理脚本的文件添加一个新的上下文菜单项。为方便起见,我将此更改导出为 reg 文件,因此您只需将其复制到以 结尾的新文本文件中,然后.reg双击即可合并到注册表中。

Windows Registry Editor Version 5.00

; Created with Default Programs Editor 
; http://defaultprogramseditor.com/

; Add Verb
[HKEY_CURRENT_USER\Software\Classes\*\shell\AddToTodaysArchive_verb_key]
@="Add file to today's archive"
[HKEY_CURRENT_USER\Software\Classes\*\shell\AddToTodaysArchive_verb_key\command]
@="\"C:\\Users\\Public\\7ztoday.bat\" \"%1\""

关于7-zip设置:

该特定子菜单由 7-zip 注册,您可以通过该程序的选项配置子菜单上显示的内容,方法是打开 7-Zip 文件管理器并转到Tools-> Options-> Plugins,选择“7-Zip”,然后单击Options。该窗口的列表中是上下文菜单中该二级列表可用的所有内置选项。

在此处输入图片描述

相关内容