我这里有一个简单的脚本来存档以“存档”名称开头的日志,然后删除那些只留下存档的文件。
cd L:\
$Source = Get-ChildItem L:\ | Where{$_.Name -match "^Archive.*\.evtx$"} |Get-ChildItem -name
$CurrentDate = get-date -Format M.d.yyyy
$Destination = "$CurrentDate.zip"
Compress-Archive -Path $Source -destinationpath $Destination
rm L:\$Source
但是,脚本运行时收到以下错误:
使用“3”参数调用“Write”的异常:“Stream太长了。”在 C:\ WINDOWS \ SYSTEM32 \ windowspowershell \ 1.0 \模块\ Microsoft.PowerShell.Archive \ Microsoft.PowerShell.Archive.psm1:809 焦炭:29
+ ... $ destStream.Write($ buffer,0,$ numberOfBytesRead)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException
+ FullyQualifiedErrorId:IOException
有什么建议吗?
答案 0 :(得分:1)
Compress-Archive依赖于Microsoft .NET Framework API System.IO.Compression.ZipArchive来压缩文件,您可以使用Compress-Archive压缩的最大文件大小目前为2 GB。这是底层API的限制。
请参阅:here
了解详情