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


13

我希望能够用鼠标右键单击在Windows资源管理器的文件,然后将7-Zip的子菜单,然后,而不是像“ 添加到压缩文件... ”,我想,' 添加到<filename>-<today's date>.7z

一张图片胜过千言万语:

资源管理器内容菜单

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

Answers:


10

7-zip是开放源代码,因此我想您可以自己实现此功能(tee hee),也可以请核心开发人员为您执行此功能。代替:

您无法通过配置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

然后,使用诸如Default Programs Editor的实用程序,我们可以为指向该批处理脚本的文件添加新的上下文菜单项。为方便起见,我将此更改导出为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。在该窗口的列表中,有上下文菜单中可用于该辅助列表的所有内置选项。

在此处输入图片说明


我以前用过。但是,我想添加一个自定义菜单项,该菜单项会自动生成一个存档文件名,并在末尾附加今天的日期。
Umber Ferrule,2009年

解决方法更新了答案,添加了新的顶级上下文菜单项。
Factor Mystic
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.