Я пытаюсь сжать журнал, используя DotNetZip и powershell. Файлы находятся в C: \ user \ temp \ logs. Когда я перебираю журналы в каталоге и добавляю их в zip-файл, я получаю иерархию папок и файлы журнала, когда мне нужны только файлы журнала.
Таким образом, почтовый индекс содержит:
-user
└temp
└logs
└log1.log
log2.log
log3.log
Когда я хочу, чтобы zip-файл содержал:
log1.log
log2.log
log3.log
Вот скрипт, который я запускаю для тестирования:
[System.Reflection.Assembly]::LoadFrom("c:\\\User\\bin\\Ionic.Zip.dll");
$zipfile = new-object Ionic.Zip.ZipFile("C:\user\temp\logs\TestZIP.zip");
$directory = "C:\user\temp\logs\"
$children = get-childitem -path $directory
foreach ($o in $children)
{
if($o.Name.EndsWith(".log")){
$e = $zipfile.AddFile($o.FullName)
}
}
$zipfile.Save()
$zipfile.Dispose()