2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PowerShell 7】フォルダをzip形式に圧縮する際にメモリ使用量を抑える方法

Posted at

前提

環境は、以下である。
OS : Windows 10 22H2
Powershell : 7.4.0
メモリ : 16GB
※ 最低限必要そうな情報のみ、記載している。

結論

ZipFileクラスのCreateFromDirectoryメソッドでフォルダをzip形式に圧縮する。

  • フォルダを圧縮する場合のサンプルコード
$folder = Join-Path $env:USERPROFILE "\Desktop\Test"
$zip = Join-Path $env:USERPROFILE "\Desktop\Test.zip"
[IO.Compression.ZipFile]::CreateFromDirectory($folder,$zip)

詳細

Compress-Archiveコマンドレットを使用して、サイズの大きいフォルダを
圧縮しようとすると、メモリ使用量が多くなる。

私が、以前、18.4GBのフォルダをCompress-Archiveコマンドレットで
圧縮した際は、メモリ使用量が90%以上になった。
同じフォルダをZipFileクラスのCreateFromDirectoryメソッドを使用して圧縮すると、
メモリ使用率が多い時でも、40%台に収まった。

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?