2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【PowerShell】cabファイルの作成と展開

Last updated at Posted at 2022-12-17

はじめに

仕事で初めて.cab形式のファイルを作る機会があったので、cabファイルの作成(圧縮)と展開の方法をまとめてみました。

cabファイルの作成(圧縮)

1つのファイルの圧縮

  • 1つのファイルをcab形式で圧縮する時は、cab {圧縮するファイル名} {圧縮後のファイル名}とコマンドを入力します。
1つのファイルの圧縮
PS C:\Users\NKOJIMA\Documents\cabtest> makecab a.txt a.cab
Cabinet Maker - Lossless Data Compression Tool
実行結果
PS C:\Users\NKOJIMA\Documents\cabtest2> tree /F ./
C:\USERS\NKOJIMA\DOCUMENTS\CABTEST2
    a.cab
    a.txt

サブフォルダーは存在しません

複数のファイルの圧縮

  • 複数のファイルを圧縮する場合は、最初に圧縮するファイルを列挙した.ddfという形式のファイルを用意します。
  • こちらのページを見ると、拡張子が.ddfでなくても正常に動作するようです。
  • なお、「;」から始まる行はコメント行となります。
cabtest.ddf
; cabtest.ddf
C:\Users\NKOJIMA\Documents\cabtest\a.txt
C:\Users\NKOJIMA\Documents\cabtest\b.txt
C:\Users\NKOJIMA\Documents\cabtest\c.txt
  • 複数のファイルをcab形式で圧縮する時は、cab /f {.ddfファイル名}とコマンドを入力します。
1つのファイルの圧縮
PS C:\Users\NKOJIMA\Documents\cabtest> makecab /f cabtest.ddf
Cabinet Maker - Lossless Data Compression Tool

101 bytes in 3 files
Total files:              3
Bytes before:           101
Bytes after:             23
After/Before:            22.77% compression
Time:                     0.01 seconds ( 0 hr  0 min  0.01 sec)
Throughput:               6.58 Kb/second
  • 1つのファイルを圧縮した時と違い、自動生成されたdisk1というフォルダ内に1.cabという名前で圧縮ファイルが作られました。
  • 1.cabを任意のファイル名で作る方法は分かりませんでした...
  • また、setup.infsetup.rptなどのファイルも自動生成されていました。
  • この2つのファイルはともに圧縮処理のログファイルでした。
実行結果
PS C:\Users\NKOJIMA\Documents\cabtest> tree /F .\
C:\USERS\NKOJIMA\DOCUMENTS\CABTEST
│  a.txt
│  b.txt
│  c.txt
│  cabtest.ddf
│  setup.inf
│  setup.rpt
│
└─disk1
        1.cab

cabファイルの展開(解凍)

  • cab形式のファイルを展開する時は、expand {圧縮ファイル名} {展開後のファイル名}とコマンドを入力します。
cabファイルの展開
PS C:\Users\NKOJIMA\Documents\cabtest> expand .\a.cab .\a.txt

.\a.txt を展開キューに追加しています

ファイルを解凍しています...

ファイルの解凍が完了しました...
  • 複数のファイルから構成されているcab形式のファイルを展開する時は、expand {圧縮ファイル名} /f:{展開するファイル} {展開先のフォルダ名}とコマンドを入力します。
  • /fパラメーターで指定する「展開するファイル」は、*または?をワイルドカードとして使えます。
複数のファイルから成るcabファイルの展開
PS C:\Users\NKOJIMA\Documents\cabtest> expand .\1.cab /f:* .\test

.\test\a.txt を展開キューに追加しています
.\test\b.txt を展開キューに追加しています
.\test\c.txt を展開キューに追加しています

ファイルを解凍しています...

ファイルの解凍が完了しました...
合計 3 ファイル

参考URL

2
3
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
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?