Netwrix 1Secureは、データとアイデンティティ全体にわたる統合された可視性を提供します。14日間の無料トライアルでフルアクセス可能です。無料トライアルを開始

リソースセンターブログ

PowerShell を使って ZIP アーカイブを作成し、ファイルを解凍する

PowerShell を使って ZIP アーカイブを作成し、ファイルを解凍する

Mar 17, 2023

プログラムで zip アーカイブを作成したり、既存のアーカイブからファイルを取り出したりすると便利な場合があります。Windows PowerShell 5.0 では、そのための 2 つの cmdlet が追加されました。The Compress-Archive cmdlet を使うと、フォルダーや個々のファイルから新しいアーカイブを作成し、アーカイブにファイルを追加できます。 Extract-Archive はファイルの解凍(アンジップ)に使用できます。

システムに PowerShell 5.0 以降がまだインストールされていない場合は、Microsoft のWebサイトから Windows Management Framework の最新バージョンをダウンロードできます。

PowerShell を使って Zip ファイルを作成する

まずは、PowerShell を使って新しい zip アーカイブにファイルを圧縮するところから始めましょう。必要なのは -Path パラメーターで圧縮したいフォルダーを指定し、–DestinationPath パラメーターで作成したいアーカイブ名を指定することです。以下のコマンドは、ルートの C ディレクトリにある Invoices フォルダーを zip 化し、Archives フォルダーに Invoices.zip という名前のアーカイブを作成します:

      Compress-Archive -Path C:Invoices -DestinationPath C:ArchivesInvoices
      

別の方法として、-LiteralPath を使って Invoices フォルダー内のファイルを個別に zip 化することもできます。–Path の代わりにします。このコマンドは、–LiteralPath パラメーターで明示的に指定された 2 つのファイルだけを含むアーカイブを作成します:

      Compress-Archive -LiteralPath C: InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:ArchivesInvoices -Force
      

最初のコマンドで作成したアーカイブを上書きするために -Force パラメーターを追加したことに注目してください。-Force パラメーターがない場合、既存のアーカイブは上書きできず、PowerShell は代わりにアーカイブへファイルを追加するよう促します。

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

      Compress-Archive -Path C:Invoices* -Update -DestinationPath C:ArchivesInvoices
      

必要に応じて、-CompressionLevel パラメーターに次の3つの値のいずれかを指定できます:Optimal、NoCompression、または Fastest。-CompressionLevel パラメーターが設定されていない場合、Optimal が既定の設定です。利用可能な最良の圧縮を使用しますが、Fastest を使う場合より時間がかかる可能性があります。圧縮しないアーカイブを作成するには、NoCompression の値を使用してください。

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

アーカイブからファイルを抽出するのは、作成するよりもさらに簡単です。行うことは、アーカイブ名と、解凍後のファイルを配置する宛先フォルダーを指定するだけです。以下のコマンドは、Expand-Archive cmdlet を使用して、Invoices.zip アーカイブの内容を InvoicesUnzipped というフォルダーに抽出します。

      Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzipped
      

ファイルを解凍するフォルダーは、あらかじめ存在している必要はありません。Expand-Archive は必要に応じて自動的にフォルダーを作成します。ただし、解凍したいファイルがすでに宛先フォルダーに存在する場合は、 Expand-Archive がエラーを返します。宛先フォルダー内のファイルを上書きするには、-Force パラメーターをコマンドに追加してください。

共有する

もっと詳しく

著者について

Asset Not Found

Russell Smith

ITコンサルタント

管理およびセキュリティ技術を専門とする IT コンサルタント兼著者です。Russell は IT 分野で 15 年以上の経験があり、Windows セキュリティに関する書籍を執筆し、Microsoft の Official Academic Course(MOAC)シリーズ向けの教材も共著しています。