Как добавить пункт контекстного меню Windows Explorer с пользовательскими функциями?


13

Я хотел бы иметь возможность щелкнуть правой кнопкой мыши файл в проводнике Windows, затем подменю 7-Zip, а затем вместо чего-то вроде « Добавить в архив ... », я хотел бы, « Добавить» к<filename>-<today's date>.7z '

Одна картинка стоит тысячи слов:

Меню содержимого проводника

Это будет настройка, не предлагаемая в настоящее время 7-Zip (насколько я знаю).

Ответы:


10

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-почтовых настроек:

Это конкретное подменю зарегистрировано 7-Zip, и вы можете настроить то, что появляется в подменю из опций этой программы, открыв 7-Zip File Manager и перейдя Tools-> Options-> Plugins, выберите «7-Zip», затем нажмите Options, В списке в этом окне есть все встроенные опции, которые доступны для этого вторичного списка в контекстном меню.

введите описание изображения здесь


Я использовал это раньше. Тем не менее, я хотел бы добавить пользовательский пункт меню, который автоматически генерирует имя файла архива и добавляет текущую дату в конце.
Umber Ferrule

Обновленный ответ с обходным решением, которое добавляет новый пункт контекстного меню верхнего уровня.
Фактор Мистик
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.