compact.exeを使用してWindowsのファイルを圧縮する方法

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20220531 150730

Windowsでは組み込みの圧縮ツールを使用してファイルやフォルダのサイズを小さくすることができます。

圧縮は、ファイルエクスプローラーから実行するのが簡単ですが、「compact.exe」と呼ばれるコマンドラインツールを使用し、より細かな設定を行う事も可能です。

compact.exeは地道に改良が行われており、Windows 10ではより高い圧縮率が指定できる新しいオプションが追加されています。

以下このコマンドの使用方法を説明します。

目次

compact.exeを使用してファイルやフォルダを圧縮

compact.exeの一番簡単な使用方法は、そのフォルダを圧縮する「/C」オプションと共に使用するというものです。フォルダを指定しない場合カレントフォルダが対象となり、今後追加したファイルも圧縮対象となります。サブフォルダも対象としたい場合は「/S」オプションも追加します。

C:\temp>compact.exe /c

 新しいファイルを圧縮するように、ディレクトリ C:\temp\ を設定します [OK]

 C:\temp\ のファイルを圧縮しています

Albacore.ViVe.dll       15360 :     12288 = 1.3 : 1 [OK]
MediaCreationTool.bat     65506 :     53248 = 1.2 : 1 [OK]
sample.pdf              17123 :     12288 = 1.4 : 1 [OK]
ViVeTool.exe            15360 :      8192 = 1.9 : 1 [OK]

2 ディレクトリ内の 5 ファイルが圧縮されました。
合計 113,349 バイトのデータが、86,016 バイトに格納されました。
データの圧縮率は 1.3 : 1 です。

解凍する場合「/U」オプションを指定します。

C:\temp>compact.exe /u

 新しいファイルを圧縮しないように、ディレクトリ C:\temp\ を設定します [OK]

 C:\temp\ のファイルを圧縮解除しています

Albacore.ViVe.dll [OK]
MediaCreationTool.bat [OK]
sample.pdf [OK]
ViVeTool.exe [OK]

2 ディレクトリ内の 5 ファイルが圧縮解除されました。

圧縮・解除を実行すると、フォルダのプロパティにも反映されます。

S 20220531 150838

compact.exeで圧縮した場合、フォルダのプロパティの「内容を圧縮してディスク領域を節約する」にもチェックがつきます。

圧縮効率を変更したい場合「/EXE」オプションを指定します(/EXE:XPRESS16Kのように)。

  • XPRESS4K(最速のデフォルト値)
  • XPRESS8K
  • XPRESS16K
  • LZX(最も高い圧縮率)

圧縮率を高くするとファイルやフォルダのサイズがさらに小さくなることが期待できますが、その分CPUの使用率が上昇する可能性があります。

また「compact.exe /CompactOS:always」を実行するとWindowsのシステムファイルを圧縮することも可能です。その他指定可能なオプションは「compact.exe /?」で確認可能です。

C:\temp>compact.exe /?
NTFS パーティション上のファイルの圧縮状態を表示または変更します。

COMPACT [/C | /U] [/S[:ディレクトリ]] [/A] [/I] [/F] [/Q]
        [/EXE[:アルゴリズム]] [/CompactOs[:オプション] [/WinDir:ディレクトリ]] [ファイル名 [...]]

  /C           指定されたファイルを圧縮します。/EXE を指定しない限り、
               ディレクトリは、後で追加されたファイルが圧縮されるように
               マークされます。
  /U           指定されたファイルを圧縮解除します。ディレクトリは、後で
               追加されたファイルが圧縮されないようにマークされます。
               /EXE を指定した場合は、実行可能ファイルとして圧縮された
               ファイルだけが圧縮解除されます。/EXE を省略した場合は、
               NTFS 圧縮ファイルだけが圧縮解除されます。
  /S           指定されたディレクトリおよびそのサブディレクトリにある
               ファイルに、指定された操作を実行します。
               "ディレクトリ" の既定値は現在のディレクトリです。
  /A           隠しファイルやシステム ファイルも表示します。既定の設定では、
               これらのファイルは省略されます。
  /I           エラーが発生した場合でも、指定された処理を続行します。
               既定の設定では、エラーが発生すると COMPACT は
               停止されます。
  /F           圧縮済みのファイルも含めて、指定されたすべてのファイルを
               強制圧縮します。既定の設定では圧縮済みのファイルはスキップ
               されます。
  /Q           重要な情報だけを報告します。
  /EXE         頻繁に読み取られ、変更されることのない実行可能ファイルに合わせて
               最適化された圧縮を使用します。次のアルゴリズムがサポートされています:
               XPRESS4K  (最速) (既定)
               XPRESS8K
               XPRESS16K
               LZX       (最小)
  /CompactOs   システムの圧縮状態を設定または照会します。次のオプションがサポートされます。
               query  - システムの圧縮状態を照会します。
               always - すべての OS バイナリを圧縮し、システムの状態を
                        圧縮に設定します。この状態は、管理者が変更しない限りそのままになります。
               never  - すべての OS バイナリを圧縮解除し、システムの状態を
                        無圧縮に設定します。この状態は、管理者が変更しない限りそのままになります。
  /WinDir    オフラインの OS を照会するときに、/CompactOs:query と共に使用します。
             Windows がインストールされているディレクトリを指定します。
  ファイル名   パターン、ファイル、またはディレクトリを指定します。

  パラメーターを指定せずに COMPACT を実行すると、現在のディレクトリと
  ディレクトリに含まれるすべてのファイルの圧縮状態を表示します。
  複数のファイル名やワイルド カードを指定できます。複数のパラメーターを
  指定する場合は、パラメーターをスペースで区切ってください。

まとめ

compact.exeを使用するとWindowsのファイルを透過的に圧縮することができます。頻繁に使用するファイルやフォルダを圧縮するとシステムの負荷が上昇する危険性がありますが、使用頻度の低いものに使うならばかなり便利な機能となるかもしれません。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次