Jak dodać element menu kontekstowego Eksploratora Windows z niestandardową funkcjonalnością?

13

Chciałbym móc kliknąć prawym przyciskiem myszy plik w Eksploratorze Windows, a następnie podmenu 7-Zip, a następnie zamiast czegoś w stylu „ Dodaj do archiwum ... ”, chciałbym „ Dodaj do<filename>-<today's date>.7z

Obraz jest wart tysiąca słów:

Menu zawartości Eksploratora

Byłoby to dostosowanie, które obecnie nie jest oferowane przez 7-Zip (o ile mi wiadomo).

Umber Ferrule
źródło

Odpowiedzi:

10

7-zip jest oprogramowaniem typu open source, więc przypuszczam, że możesz sam zaimplementować tę funkcję (tee hee) lub złożyć petycję / zapłacić głównym programistom, aby zrobił to za Ciebie. Zamiast tego:

Nie możesz tego zrobić, konfigurując opcje 7-zip, ale możesz to zrobić, tworząc nowy element menu kontekstowego. Tekst nie będzie dynamiczny jak twoja makieta, ale wyniki będą takie same.

Zasadniczo musisz zrobić skrypt wsadowy, który uruchamia 7-zip z odpowiednimi parametrami, aby pobrać określony plik i dodać go do archiwum, podając dzisiejszą datę jako nazwę pliku.

Ten skrypt to zrobi (na podstawie skryptu stąd ). Wklej to do nowego pliku tekstowego o nazwie 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

Następnie za pomocą narzędzia, takiego jak Domyślny edytor programów , możemy dodać nowy element menu kontekstowego dla plików wskazujących na ten skrypt wsadowy. Dla wygody wyeksportowałem tę zmianę jako plik reg, więc możesz po prostu skopiować ją do nowego pliku tekstowego z rozszerzeniem .regi kliknąć dwukrotnie, aby połączyć się z rejestrem.

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

Odnośnie ustawień 7-zip:

To konkretne podmenu jest rejestrowane przez 7-zip i możesz skonfigurować, co pojawi się w podmenu z opcji tego programu, otwierając Menedżera plików 7-Zip i przechodząc do Tools-> Options-> Plugins, wybierz „7-Zip”, a następnie kliknij Options. Na liście w tym oknie znajdują się wszystkie wbudowane opcje, które są dostępne dla tej dodatkowej listy w menu kontekstowym.

wprowadź opis zdjęcia tutaj

Factor Mystic
źródło
Używałem tego wcześniej. Chciałbym jednak dodać niestandardowy element menu, który automatycznie generuje nazwę pliku archiwum i na końcu dołącza dzisiejszą datę.
Umber Ferrule,
Zaktualizowana odpowiedź z obejściem, które dodaje nowy element menu kontekstowego najwyższego poziomu.
Factor Mystic