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
パラメーターは、NoCompression
、Optimal
、または 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn