PowerShell の圧縮解除

Migel Hewage Nimesha 2023年1月30日
  1. Expand-Archive 構文 1
  2. Expand-Archive 構文 2
  3. Expand-Archive パラメータ
  4. PowerShell の解凍ファイルの例
PowerShell の圧縮解除

ZIP ファイルタイプは、ファイルを 1つのファイルに圧縮することにより、そのサイズを最小化します。この方法は、ハードドライブのスペースを節約し、情報を暗号化し、ファイルを相互に簡単に交換できるようにします。

PowerShell は、Expand-Archive コマンドを使用して、ZIP ファイルが存在するのと同じディレクトリまたは指定された宛先パス上の特定の Zip ファイルからファイルとフォルダーを抽出します。

ここでは、削除に 2つの異なる構文を使用できます。これら 2つは別々に使用できますが、組み合わせることはできません。

Expand-Archive 構文 1

ここではパスプロパティが使用され、パスを指定するときにワイルドカードを使用できます。

Expand-Archive
      [-Path] <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Expand-Archive 構文 2

次のオプションはリテラルパスです。ここで、指定されたパスは指定されたとおりに取得され、ワイルドカードの使用は許可されていないため、正確である必要があります。パスウェイにエスケープ文字が含まれている場合は、各エスケープ文字を一重引用符で囲んで、文字をエスケープパターンとして解釈してはならないことを PowerShell に通知します。

Expand-Archive
      -LiteralPath <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Expand-Archive パラメータ

使用される最も一般的なパラメータの名前と説明を以下に示します。

名前 説明
-Confirm コマンドレットを実行する前に確認が求められます
-DestinationZip 解凍フォルダへのパスを指定します。フォルダが存在しない場合は、ターゲットフォルダが作成されます
-Force 確認なしでコマンドレットを強制する
-LiteralPath アーカイブファイルへのパスを指定します。リテラルパスの値は、指定されたとおりに取得されます。
-PassThru アーカイブから展開されたファイルのリストを出力します
-Path アーカイブファイルへのパスを指定します
-WhatIf コマンドレットを実際に実行せずに実行するとどうなるかを示します

PowerShell の解凍ファイルの例

例 1:

現在のディレクトリ内の現在のアーカイブファイルのアイテムは、この例の -DestinationPath オプションで指定されたフォルダに抽出されます。

Expand-Archive -Path test.Zip -DestinationPath C:\Test

例 2:

アーカイブを作成するよりも、アーカイブからファイルを抽出する方が簡単です。あなたがしなければならないのは、アーカイブの名前と解凍されたファイルの宛先の場所を与えることです。Expand-Archive コマンドレットを使用して、以下のコードは、テスト zip アーカイブのコンテンツを宛先パス変数の指定されたフォルダーTestUnzipped にエクスポートします。

Expand-Archive -LiteralPath 'C:\Archives\test[v1].Zip' -DestinationPath C:\TestUnzipped

ファイル名にはワイルドカードと解釈される可能性のある文字が含まれているため、LiteralPath オプションが使用されます。

-DestinationPath 引数を使用しない場合、PowerShell はファイルを現在のルートフォルダーに解凍し、Zip ファイルのファイル名で新しいフォルダーを作成します。

PowerShell がファイルを抽出しようとすると、ディレクトリが宛先に存在する場合、これはエラーをスローします。 -Force 引数を使用すると、PowerShell をプッシュして古いデータを新しいデータに置き換えることができます。

-Force 引数は、古いファイルが本当に必要なくなった場合にのみ使用する必要があります。これは、マシン上のファイルを永続的に上書きするためです。

ZIP ファイルは、ファイルとディレクトリを 1つのドキュメントに圧縮して保存します。ソフトウェアをインストールしなくても、PowerShell はさまざまな方法でソフトウェアを取得できます。上で概説したアプローチは、クロスプラットフォームアプリとネイティブアプリの両方に適用できます。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.