Powershell压缩归档OutOfMemoryException

时间:2019-02-26 12:33:03

标签: powershell compression out-of-memory

我需要使用Power Shell压缩文件夹。

有我的代码:

Get-ChildItem $YourDirToCompress -Directory  | 
           where { $_.Name -notin $DirToExclude} | 
              Compress-Archive -DestinationPath $ZipFileResult -Update

Move-Item -Path $ZipFileResult -Destination $ZipFileDest

我得到:

Exception calling "Write" with "3" argument(s): "Exception of type 'System.OutOfMemoryException' was thrown."
At 
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:820 
char:29
+ ...                     $destStream.Write($buffer, 0, $numberOfBytesRead)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : OutOfMemoryException

我已设置:

Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB 8000
Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 8000
Restart-Service WinRM

整个文件约为1.9 GiB,压缩文件为500 MiB。 我发现很难相信这确实是一个内存问题。

此外,它一次或两次成功创建文件(当MaxMemoryPerShellMB设置为4000时)。但是大多数情况下它会失败。

我该怎么办?

0 个答案:

没有答案