Compress-Archive命令返回“Exception:Stream太长”。

时间:2016-09-19 16:33:55

标签: powershell compression

我这里有一个简单的脚本来存档以“存档”名称开头的日志,然后删除那些只留下存档的文件。

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Compress-Archive依赖于Microsoft .NET Framework API System.IO.Compression.ZipArchive来压缩文件,您可以使用Compress-Archive压缩的最大文件大小目前为2 GB。这是底层API的限制。

请参阅:here

了解详情