Сжатие PowerShell-Архив OutOfMemoryException - PullRequest
0 голосов
/ 26 февраля 2019

Мне нужно сжать папку с помощью 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 ГиБ, а сжатый файл - 500 МБ.Мне трудно поверить, что это действительно проблема с памятью.

Кроме того, один или два раза это удалось при создании файла (когда MaxMemoryPerShellMB был установлен в 4000).Но в большинстве случаев это не помогает.

Что я могу сделать?

...