帮助!
我需要扫描一个包含 200gb 压缩 .log 日志文件的文件夹,并删除所有超过 584 天的文件。
我找到了这个,并在那里留下了回复,但如果有人能在此期间提供帮助,那么谢谢
干杯
帮助!
我需要扫描一个包含 200gb 压缩 .log 日志文件的文件夹,并删除所有超过 584 天的文件。
我找到了这个,并在那里留下了回复,但如果有人能在此期间提供帮助,那么谢谢
干杯
使用 SevenZipSharp。首先备份任何重要数据:)
确保阅读并更改任何没有意义的路径等。
[Reflection.Assembly]::LoadFile("c:\lib\SevenZipSharp.dll")
[SevenZip.SevenZipExtractor]::SetLibraryPath("c:\lib\7z.dll")
$zipFiles = Get-ChildItem D:\zips\ -Filter "*.zip"
$oldDate = (get-date).AddDays(-584)
$zipFiles | % {
$compressor = [SevenZip.SevenZipCompressor]("C:\")
$compressor.ArchiveFormat = "zip"
$extractor = [SevenZip.SevenZipExtractor]($_.FullName)
$object = New-Object 'system.collections.generic.dictionary[int,string]'
$extractor.ArchiveFileData | %{
if ($_.LastWriteTime -lt $oldDate){
#null index deletes the file
$object.add($_.Index,"")
}
else {
$object.add($_.Index,$_.FileName)
}
}
$compressor.ModifyArchive($_.FullName,$object)
}