Estoy tratando de comprimir el registro utilizando DotNetZip y powershell. Los archivos están en C: \ user \ temp \ logs Cuando recorro los registros en el directorio y los agrego al archivo zip, termino con la jerarquía de carpetas y los archivos de registro cuando solo quiero los archivos de registro.¿Cómo comprimir solo archivos y no la jerarquía de ruta completa con DotNetZip en powershell?
Así el zip que contiene termina:
-user
└temp
└logs
└log1.log
log2.log
log3.log
Cuando quiero el archivo zip que contiene es:
log1.log
log2.log
log3.log
Este es el guión que estoy corriendo a probar con:
[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()
Esto hizo exactamente lo que quería '$ e = $ zipfile.AddFile ($ o.FullName, "") ' – ProfessionalAmateur