Как заархивировать только файлы, а не полную иерархию путей с помощью DotNetZip в PowerShell?

Я пытаюсь заархивировать журнал, используя DotNetZip и PowerShell. Файлы находятся в C: \ user \ temp \ logs. Когда я просматриваю журналы в каталоге и добавляю их в zip-файл, я получаю иерархию папок и файлы журнала, когда мне нужны только файлы журнала.

Итак, 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()
16
задан ProfessionalAmateur 1 June 2011 в 13:51
поделиться