Articles

Using PowerShell to Create ZIP Archives and Unzip Files

Posted on

プログラムでZIPアーカイブを作成したり、既存のアーカイブからファイルを抽出したりするのが便利な場合があります。 Windows PowerShell 5.0 では、そのための 2 つのコマンドレットが追加されました。 Compress-Archive コマンドレットは、フォルダーや個々のファイルから新しいアーカイブを作成したり、ファイルをアーカイブに追加したりすることができます。

Using PowerShell to Create Zip Files

まず、PowerShell を使用して、新しい zip アーカイブ内のファイルを圧縮してみましょう。 必要なのは、-Path パラメーターで圧縮したいフォルダーを指定し、-DestinationPath パラメーターで作成するアーカイブの名前を指定することだけです。

Compress-Archive -Path C:\Invoices -DestinationPath C:\Archives\Invoices

別の方法として、-Path の代わりに -LiteralPath を使用して、Invoices フォルダ内のファイルを個別に圧縮することもできます。

Compress-Archive -LiteralPath C:\ Invoices\File1.txt, C:\Invoices\File2.txt -DestinationPath C:\Archives\Invoices -Force

最初のコマンドで作成したアーカイブを上書きするために -Force パラメータを追加したことに注意してください。

アーカイブにファイルを追加するには、-Updateパラメータを使用します。 以下のコマンドは、Invoices フォルダー内のすべてのファイルを既存の Invoices.zip アーカイブに追加します:

Compress-Archive -Path C:\Invoices\* -Update -DestinationPath C:\Archives\Invoices

オプションとして、-CompressionLevel パラメーターに 3 つの値のいずれかを使用できます。 Optimal」、「NoCompression」、「Fastest」の3つの値があります。 Optimalは、-CompressionLevelパラメータが設定されていない場合のデフォルト設定で、利用可能な最良の圧縮を使用しますが、Fastestよりも時間がかかる場合があります。

Using PowerShell to Unzip Files

アーカイブからファイルを抽出するのは、アーカイブを作成するよりも簡単です。 必要なのは、アーカイブの名前と、解凍したファイルの保存先フォルダを指定するだけです。 以下のコマンドは、Expand-Archive コマンドレットを使用して、Invoices.zip アーカイブの内容を InvoicesUnzipped という名前のフォルダーに抽出します。

Expand-Archive -LiteralPath C:\Archives\Invoices.Zip -DestinationPath C:\ InvoicesUnzipped

ファイルを解凍するフォルダーは存在しなくてもかまいません。必要に応じて Expand-Archive が自動的にフォルダーを作成します。 しかし、解凍したいファイルが既に解凍先のフォルダに存在する場合、Expand-Archiveはエラーを返します。

管理およびセキュリティ技術を専門とするITコンサルタントおよび著者。 ラッセルはIT分野で15年以上の経験を持ち、Windowsのセキュリティに関する本を書いたり、Microsoft’s Official Academic Course (MOAC)シリーズのテキストを共著で執筆したりしています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です