PowerShell を使用してファイルを圧縮および解凍する

Marion Paul Kenneth Mendoza 2023年1月30日
  1. PowerShell を使用してファイルを圧縮する
  2. PowerShell を使用してファイルを解凍する
PowerShell を使用してファイルを圧縮および解凍する

PowerShell 5.0 では、Microsoft に zip アーカイブを作成し、既存のアーカイブからファイルを抽出するためのコマンドがあります。この記事では、圧縮ファイルをアーカイブおよび解凍するための PowerShell コマンドについて説明します。

次のコマンドは、PowerShell v5.0 でリリースされた最新のコマンドレットの 2つです。Compress-Archive コマンドは、フォルダーまたは個々のファイルから zip 形式のアーカイブファイルを作成し、Expand-Archive コマンドは、zip 形式のアーカイブファイルからファイルを抽出します。

PowerShell を使用してファイルを圧縮する

PowerShell を使用して、新しい .zip アーカイブ内のファイルを圧縮してみましょう。

-Path パラメーターを使用して、圧縮するフォルダーの場所を指定し、-DestinationPath パラメーターを使用して、作成する圧縮アーカイブの名前を指定します。

たとえば、次のコマンドは、ルート C:ディレクトリに Temp フォルダを圧縮し、Temp フォルダに Temp_Files.zip というアーカイブを作成します。

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

または、-Path パラメーターの代わりに -LiteralPath パラメーターを使用して、Temp フォルダー内のファイルを個別に圧縮することもできます。これにより、-LiteralPath パラメータにリストされている 2つのファイルのみを含むアーカイブが作成されます。

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

作成した最初のアーカイブを上書きするために、-Force パラメーターを追加しました。 -Force パラメーターがないと、既存のアーカイブを置き換えることはできず、Windows PowerShell は代わりにファイルをアーカイブに追加するように要求します。

アーカイブに複数のファイルを追加するには、-Update パラメーターを使用できます。たとえば、次のコマンドは、Invoices フォルダー内のすべてのファイルを既存の Temp_Files.zip アーカイブに追加します。

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

-CompressionLevel パラメーターは、NoCompressionOptimal、または Fastest の 3つの値のいずれかで使用することもできます。

-CompressionLevel パラメータが式に存在しない場合、Optimal がデフォルト値です。Optimal 圧縮は最適な圧縮を使用しますが、Fastest よりも時間がかかる場合があります。

NoCompression 値を使用して、圧縮なしのアーカイブを作成します。

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

PowerShell を使用してファイルを解凍する

アーカイブからファイルを抽出するには、アーカイブの名前と解凍したファイルの保存先フォルダーを指定する必要があります。

Expand-Archive コマンドを使用すると、Temp_Files.zip アーカイブの内容が Temp フォルダーに抽出されます。

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive は、抽出されたファイルのフォルダを自動的に作成します。

ただし、解凍した圧縮ファイルが宛先フォルダーに既に存在する場合、Expand-Archive はエラーをスローします。コマンドラインに -Force パラメータを追加することで、宛先フォルダ内のファイルを上書きできます。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell File