сразу скажу что на висте-10ке не тестил только ХР.
в контекстном меню(при пкм) файла или папки (на выделении нескольких не работает)
появляется пункт MakeBackup (название можно изменить)

картинка
MBK.1555079681.png

при его выборе рядом создаётся архив имя_файла_дата.7z
например
dogmediatest.htm
dogmediatest.htm_2019-04-12_17-03.7z
очень удобно делать бэкап перед изменениями конфигурациионных файлов например
итак
1 нужно установить 7-zip
2 создать и поправить под себя 2 файла *
3 запустить рег файл чтоб добавить ключи в реестр.
4 готово
* файлы с пояснениями,
1 makebak.reg - запускается один раз для добавления пункта
2 makebak.vbs - скрипт создающий архив

скрытый текст
makebak.reg
тут правим две строчки
...D:\\Sysutil\\MakeBackup\\makebak.vbs \"%1\""....
указывая путь до файла makebak.vbs лучше его положить в папку где в путях отсутствуют пробелы,не забываем про двойные косые в пути
строчка @="MakeBackup" это название пункта меню,можно править под себя

Выделить код

Код:

Windows Registry Editor Version 5.00
;Add item MakeBackup in Folder context menu 
;require makebak.vbs
;Please edit this file to change path to makebak.vbs
;(c)okkamas_knife
[HKEY_CLASSES_ROOT\Folder\shell\MakeBackup]

[HKEY_CLASSES_ROOT\Folder\shell\MakeBackup\command]
@="C:\\WINDOWS\\system32\\wscript.exe D:\\Sysutil\\MakeBackup\\makebak.vbs \"%1\""

[HKEY_CLASSES_ROOT\*\shell\MakeBackup]
@="MakeBackup"

[HKEY_CLASSES_ROOT\*\shell\MakeBackup\command]
@="C:\\WINDOWS\\system32\\wscript.exe D:\\Sysutil\\MakeBackup\\makebak.vbs \"%1\""


скрытый текст
makebak.vbs как уже писал выше лучше его положить в папку где в путях отсутствуют пробелы
далее поправить строчку zippath = "D:\Sysutil\7-Zip\7zG.exe" указав путь до 7-zip-а
степень сжатия можно поправить тут cmdstr = zippath & "  a -mx9 ...
сейчас стоит максимальная но для ускорения можно уменьшить (см. справку 7-зипа)

Выделить код

Код:

' Backup maker
' add file ir folder to archive named with date and time
'  use makebak.vbs file_or_folder
' (c)okkamas_knife

zippath = "D:\Sysutil\7-Zip\7zG.exe"

If WScript.Arguments.Length < 1 Then 
WScript.Echo("No file or folder!")
WScript.Quit()
Else
Set oShell = WScript.CreateObject ("WScript.Shell")
Fullpath=WScript.Arguments(0)
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "^.*\\"
Str = Fullpath
objRegExp.Global = True
Filename = objRegExp.Replace(Str, "")  
Dim zzz 
zzz = Split(Fullpath,"\")
zzzl = ubound(zzz)-1
Filepath=""

For i = 0 to zzzl 
Filepath=Filepath&zzz(i)&"\"
Next

yy=Year(Date)
mn="00"&Month(Date)
mn=Right(mn, 2)
dy="00"&Day(Date)
dy=Right(dy, 2)
hr="00"&Hour(Time)
hr=Right(hr, 2)
mi="00"&Minute(Time)
mi=Right(mi, 2)

fdate="_" & yy & "-" & mn & "-" & dy & "_" & hr & "-" & mi
cmdstr = zippath & "  a -mx9  """ & Filepath  & Filename & fdate  & ".7z"" """ & Fullpath & """"
oShell.run cmdstr,1,true

End If