Windowsで巨大ファイルを含むフォルダをZIP(無圧縮)に格納する方法

Windowsで巨大ファイルを含むフォルダをZIP(無圧縮)に格納する方法

こんにちは!

複数の大容量のファイルを含むフォルダをバックアップやアーカイブする際、ZIPファイルに格納することがよくあります。

しかし、既に圧縮済みのファイル(動画、画像、PDFなど)を再圧縮すると、処理時間がかかる割に圧縮効果が少かったり、圧縮にものすごく時間がかかってしまうことがあります。別に容量を制限したいわけでなく、単に複数のファイルを単にひとまとめにしたいときには「無圧縮ZIP」(ストアモード)が1つの選択肢となります。

この記事では、特に巨大ファイル(数GB〜数十GB)を含むフォルダを無圧縮ZIPに格納する方法について解説します。

Windows標準機能の限界

Windows Explorerの標準ZIP機能では、ファイルを右クリックして「送る」→「圧縮(zip形式)フォルダー」を選択できますが、これには2つの問題があります

  1. 無圧縮(ストアモード)を選択するオプションがない
  2. いちいち圧縮してしまうので大容量ファイルの処理に時間がかかる

PowerShellの無圧縮ZIPコマンドと制限

PowerShellにはCompress-Archiveコマンドレットがあり、-CompressionLevel NoCompressionオプションで無圧縮ZIPを作成できます。

Compress-Archive -Path "C:\example_backup" -DestinationPath "C:\temp\example_backup.zip" -CompressionLevel NoCompression

しかし、このコマンドには制限があるんです

  • 最大ファイルサイズは2GBまで(Microsoft .NET APIの制限による)
  • 実際には20GB程度のフォルダサイズでエラーが発生することが多い

実際のエラーメッセージ例

大きなファイルを含むフォルダで実行すると、以下のようなエラーが発生します

"3" 個の引数を指定して "Write" を呼び出し中に例外が発生しました: "ストリームが長すぎます。"
発生場所 C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:820 文字:29
+ ...                     $destStream.Write($buffer, 0, $numberOfBytesRead)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : IOException

権限が制限されている場所に出力しようとすると、以下のエラーが発生することもあります

New-Object : "2" 個の引数を指定して ".ctor" を呼び出し中に例外が発生しました: "パス 'C:\example_backup.zip' へのアクセスが拒否されました。"
発生場所 C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:729 文字:30
+ ... ileStream = New-Object -TypeName System.IO.FileStream -ArgumentList $ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-Object]、MethodInvocationException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

つまり、PowerShellのCompress-Archiveは小〜中規模のファイルには便利ですが、巨大ファイルには適していないんです。

ていうか、いちいち個別ファイルのサイズなんて気にせずZIPにしたいですよね

7-Zipを使った解決策

そんなときはやっぱり最強のzipソフトウェア「7-Zip」の出番となります。
これはオープンソースの高性能圧縮・解凍ソフトウェアで、素晴らしいです。

  • 無圧縮(ストアモード)での保存が可能
  • ファイルサイズの制限が実質的にない(50GB以上のファイルも処理可能)
  • コマンドラインからの操作が可能
  • 様々な圧縮形式に対応

Chocolateyを使った7-Zipのインストール方法

さて、では、7-Zipをコマンドラインでインストールしましょう。私はChocolateyというWindows版のaptのようなパッケージマネージャをつかってます。
コマンドラインから簡単に7-Zipをインストールできます。

1. Chocolateyのインストール(まだインストールされていない場合)

PowerShellを管理者権限で開き、以下のコマンドを実行します:

Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

2. 7-Zipのインストール

Chocolateyがインストールされたら、
ひきつづき Powershellの管理者権限で、以下のコマンドで7-Zipをインストールします

choco install 7zip -y

-yオプションは、確認プロンプトに自動的に「はい」と回答します。

7-Zipを使った無圧縮ZIPの作成手順

さて実際に7-Zipを使って無圧縮ZIPを作成していきましょう

例として、C:\example_backupフォルダを無圧縮ZIPに格納します。

PowerShellでの実行手順

  1. PowerShellを開きます(管理者権限は不要です)
  2. 以下のコマンドをPoweshellにペタっとしましょう
$7zipPath = "C:\Program Files\7-Zip\7z.exe"
& $7zipPath a -tzip -mx0 "C:\temp\example_backup.zip" "C:\example_backup\*"

このコマンドの説明

  • a: アーカイブに追加するコマンド
  • -tzip: ZIP形式を指定
  • -mx0: 無圧縮(ストアモード)を指定
  • 最初のパスは出力先のZIPファイル
  • 2番目のパスは圧縮するフォルダ内のすべてのファイル
  1. 処理が完了するまで待ちます(大容量ファイルの場合は時間がかかります)

まとめ

巨大ファイルを含むフォルダを無圧縮ZIPに格納するには

  1. Windows標準のZIP機能は無圧縮オプションがなく不向き
  2. PowerShellのCompress-Archiveは2GB以上のファイルで問題が発生
  3. 7-Zipが最適な解決策(Chocolateyでのインストールが簡単)
  4. 7-Zipのコマンドライン(-mx0オプション)で無圧縮ZIPを作成可能

Windowsで巨大ファイルをふくむフォルダのZIP化は7-Zipにおまかせ!ですね

Read more

【AI×CAD 第3回】「この形、抜けません」を設計中に知る。金型DFM(抜き勾配・アンダーカット・肉厚)をブラウザで自動チェック

【AI×CAD 第3回】「この形、抜けません」を設計中に知る。金型DFM(抜き勾配・アンダーカット・肉厚)をブラウザで自動チェック

抜き勾配・アンダーカット・局所的な肉厚の要注意箇所は、型開き方向を決めれば形状から機械的に一次チェックできます。わざと不良を仕込んだ樹脂ケースでCADASの金型DFMを実走し、要勾配11.8%・アンダーカット0.2%(横穴のみ)・肉厚中央値2.00mmが出るまでと、その判定の仕組みを解説します。

By Qualiteg コンサルティング
Claude Codeで急にgrepが承認待ちになる v2.1.259でRead denyルールがBashのgrepにも効くようになった

Claude Codeで急にgrepが承認待ちになる v2.1.259でRead denyルールがBashのgrepにも効くようになった

Claude Code を bypassPermissions で走らせているのに、今日から grep -r が承認待ちで止まるようになった。原因は 2026年9月2日リリースの v2.1.259 で、settings.json の Read deny ルールが Bash の grep にも当たるようになったこと。前日の v2.1.258 と並べて実測し、通る書き方と通らない書き方を表にまとめました。

By Qualiteg プロダクト開発部
日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(9月1日版)

日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(9月1日版)

はじめに 本レポートは、Nejumi Leaderboard 4のベンチマークデータ(2026/9/1版)に基づいて、日本語対応LLMの性能を総合的に分析したものです。 前回は 2026/7/10 版の分析レポート を公開しましたが、わずか2か月弱で首位が入れ替わり、 オープンモデルが総合3位に食い込む激アツの回となりました! (定期的に最新LLMランキングを更新してまいります。当社のX(旧Twitter)をフォローいただくことで更新情報を受け取り可能です) Nejumi Leaderboard 4は、日本語タスクにおけるLLMの性能を多角的に評価する信頼性の高いベンチマークとして知られています。汎用的言語性能(GLP)とアラインメント(ALT)の2軸で構成され、翻訳・要約・推論・コーディングから毒性・バイアス・真実性まで、幅広い観点をカバーしているのが特徴です。 本分析では、商用APIモデルとオープンモデルの両方を対象に、それぞれの特徴や傾向を詳しく見ていきます。 まず、今回の3大トピックを先にご紹介します。 * Claude Opus 5が総合スコア0.8720で

By Qualiteg プロダクト開発部, Qualiteg コンサルティング