alexii пишет:Опробуете — отпишитесь, пожалуйста.
Работает всё кроме самого главного 
При работе по списку 7z пытается скинуть все файлы в архив без учёта путей. Пытается - потому что в разных папках есть файлы с одинаковым именем, в результате:
Error:
Duplicate filename:
Боюсь что пока соответствующий функционал не появится в архиваторе, красивая идея бэкапа через список сформированный логпарсером останется только идеей. Конечно создание структуры каталогов есть в WinRAR-е(структура начинается с корня исходного размещения файла), но он платный. Не свой же ключ на серваке использовать(да и нарушением лицензии это наверно будет). Правда установленная у меня версия 4.01 не работала с длинными путями, но после установки свежескачанной версии 4.00 стала работать 
Ещё проблема(думаю баг) - 7z по дефолту использует UTF-8 файл-листы, однако(судя по возникающей ошибке) не понимает "что там за хрень" в начале файла - волшебные биты ему не нравятся:
WARNINGS for files:
♥d : Синтаксическая ошибка в имени файла, имени папки или метке тома.
Это лечится ключём -sсsWIN и сохранением файл-листа в ASCII.
В остальном всё замечательно
.
Впрочем, если кому-то пригодится, вот "болванка"(практически без защиты от дурака - вроде слэшей в конце пути, существования папок и файлов, и т.д.):
' VB Script Document
Option Explicit
Dim SVNzip, OutPathZip
SVNzip = "C:\Program Files\7-Zip\7z.exe"
OutPathZip = "D:\!2Burn"
Dim WshShell, fso, ListFile, ts
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.Createobject("Scripting.FileSystemObject")
ListFile = "D:\TEMP\archList.txt"
Set ts = fso.CreateTextFile(ListFile, True, False)
Dim oLogQuery, oInputFormat, strQuery, oRecordSet, oRecord
Set oLogQuery = WScript.CreateObject("MSUtil.LogQuery")
Set oInputFormat = WScript.CreateObject("MSUtil.LogQuery.FileSystemInputFormat")
strQuery = "select Path " & _
"from 'd:\!pre_backup2\*.*' " & _
"where " & _
"EXTRACT_EXTENSION(Path) in ('doc'; 'docx'; 'docm'; 'xls'; 'xlk'; 'xlsx'; 'xlsm'; 'mdb'; 'adp'; 'rtf'; 'vbs'; 'pdf') " & _
"and " & _
"SUBSTR (EXTRACT_FILENAME (Path),0,1) Not In ('~')"
Set oRecordSet = oLogQuery.Execute(strQuery, oInputFormat)
Do While Not oRecordSet.atEnd
Set oRecord = oRecordSet.getRecord
ts.WriteLine(oRecord.getValue(0))
oRecordSet.moveNext
Loop
oRecordSet.close
ts.Close
Dim ArchName, ZipAttribs, ExecSrting, oExec
ArchName = OutPathZip & "\" & LongDate(now) & ".7z"
ZipAttribs = " -r- -up1q0r2x1y2z1w2 "
ExecSrting = """" & SVNzip & """" & " a -t7z """ & ArchName & """ @""" & ListFile & """" & ZipAttribs & " -scsWIN"
WScript.Echo ExecSrting
Set oExec = WshShell.Exec(ExecSrting)
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Select Case oExec.ExitCode
Case 0
wscript.echo "All Done"
Case 1
wscript.echo "Warning (Non fatal error(s))."
Case 2
wscript.echo "Fatal error"
Case 7
wscript.echo "Command line error"
Case 8
wscript.echo "Not enough memory for operation"
Case 256
wscript.echo "User stopped the process"
End Select
'##############################################################################
' Возвращает дату(без времени) вида YYYYMMDD
Function LongDate(Data)
Dim DD, MM, YYYY
DD = CStr(Day(Data))
MM = CStr(Month(Data))
YYYY = CStr(Year(Data))
If Len(DD) = 1 then DD = "0" & DD
If Len(MM) = 1 then MM = "0" & MM
LongDate = YYYY & MM & DD
End Function
В папку OutPathZip создаётся архив с именем YYYYMMDD.7z. Исходная папка и фильтры - в SQL-запросе, ListFile - расположение файл-листа.