Windows
 Computer >> コンピューター >  >> システム >> Windows

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

ZIPファイル形式は、複数のファイルを1つのアーカイブに圧縮することでサイズを削減できるフォーマットです。この仕組みにより、ディスク容量の節約、データの暗号化、そして他の人とのファイル共有が簡単になります。本記事では、Windows 11/10に標準搭載されているPowerShellを使って、ファイルをZIP形式で圧縮( zip )および解凍( unzip )する方法を詳しく解説します。

PowerShellでファイルを圧縮(ZIP化)する方法

ファイルの圧縮には、Compress-Archiveコマンドレットを使用します。このコマンドレットは、圧縮したいファイルのパスを受け取り(複数ファイルの場合はカンマで区切ります)、指定した保存先にアーカイブを作成します。

手順は以下のとおりです。

Windowsキー + Xを押してパワーユーザーメニューを開き、キーボードのIを押してPowerShellを起動します。

次に、以下の構文を入力します。<PathToFiles><PathToDestination>のプレースホルダーを、それぞれ「圧縮したいファイルのパス」と「保存先のフォルダー名およびアーカイブ名」に置き換えてください。

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

注意: 保存先のパスを指定する際は、必ずアーカイブファイルに名前を付けてください。名前を付けないと、指定した場所に「.zip」という名前で保存されてしまいます。また、ファイルパスにスペースが含まれる場合のみ、パスを引用符で囲む必要がある点にも留意してください。

別の方法として、フォルダーの内容全体とすべてのサブフォルダーをまとめてZIP化したい場合は、上記と同じ構文を使用できます。この場合も<PathToFiles><PathToDestination>を適切なパスに置き換えてください。

実行結果は下図のようになります。

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

このコマンドでは、個々のファイルを指定せず、複数のファイルやフォルダーを含むディレクトリへのパスを渡しています。PowerShellはルートディレクトリ内のすべての内容(サブフォルダーを含む)を自動的に取得し、圧縮してくれます。

関連記事: .TAR.GZ、.TGZ、.GZファイルの開き方

ワイルドカード文字(*)の活用

Compress-Archiveコマンドレットでは、ワイルドカード文字(*)を使うことで機能をさらに拡張できます。ワイルドカードを使用すると、「ルートディレクトリを除外する」「特定のディレクトリ内のファイルだけを圧縮する」「特定の種類のファイルだけを選択する」といった操作が可能になります。なお、Compress-Archiveでワイルドカードを使う場合は、-LiteralPathではなく-Pathパラメーターを使用する必要があります(-LiteralPathはワイルドカードに対応していません)。

これまでの例では、アーカイブ作成時にルートディレクトリとそのファイル・サブディレクトリをすべて含める方法を見てきました。しかし、ZIPファイルからルートフォルダー自体を除外したい場合は、ワイルドカードを使って除外できます。ファイルパスの末尾にアスタリスク(*)を追加すると、PowerShellはルートディレクトリの中身だけを取得します。正しい構文は以下のとおりです。

Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

次に、1つのフォルダーにさまざまな種類のファイル(.docx、.txt、.jpgなど)が混在している場合に、特定の種類のファイルだけを圧縮したいときは、以下の構文を使用します。PowerShellは指定されたファイルのみをアーカイブし、それ以外のファイルには一切触れません。ただしこの方法では、サブディレクトリとルートフォルダー内のファイルはアーカイブに含まれない点に注意してください。

Compress-Archive -Path C:\path\to\file\*.docx -DestinationPath C:\path\to\archive.zip

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

最後に、ルートディレクトリとそのサブディレクトリにあるファイルだけを圧縮したアーカイブを作成したい場合は、スタードットスター(*.*)というワイルドカードを使い、以下の構文でZIP化します。この方法でも、サブディレクトリとルートフォルダー内のファイルはアーカイブに含まれません。

Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

さらに重要なポイントとして、アーカイブ作成後でも、-Updateパラメーターを使えば既存のZIPファイルを更新できます。正しい構文は以下のとおりです。これにより、同じ名前の新しいバージョンのファイルで古いファイルを置き換えたり、ルートディレクトリに新しく作成されたファイルを追加したりすることが可能です。

Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

以上が、Windows 10のPowerShellを使ってさまざまなシナリオでファイルをZIP圧縮する方法です。続いて、PowerShellでファイルを解凍する方法を見ていきましょう。

関連記事: Windows 11/10にCURLをインストールする方法

PowerShellでファイルを解凍(ZIP展開)する方法

すでに見てきたように、PowerShellはファイルの圧縮に使えますが、アーカイブの解凍にも対応しています。しかも、その手順は圧縮よりもさらにシンプルです。必要なのは、解凍元のZIPファイルと、展開先の保存先パスだけです。

それでは実際にやってみましょう。

PowerShellでファイルを解凍するには、以下の手順を実行します。

まずPowerShellを開きます。

次に、以下の構文を入力します。<PathToZipFile><PathToDestination>のプレースホルダーを、それぞれ「解凍したいZIPファイルのパス」と「展開先のフォルダー」に置き換えてください。

Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

展開先として指定したフォルダーに、アーカイブの内容が格納されます。もし解凍前にそのフォルダーが存在しなかった場合は、PowerShellが自動的にフォルダーを作成し、そこに内容を展開してくれます。

デフォルトでは、-DestinationPathパラメーターを省略した場合、PowerShellは現在のルートディレクトリに内容を解凍し、ZIPファイル名と同じ名前で新しいフォルダーを作成します。

この例では、コマンド内でDocsフォルダーが指定されているため、PowerShellはC:\Users\Chidum.OsobaluのパスにDocsフォルダーを作成し、アーカイブからファイルをそのフォルダーへ展開します。下図は、本記事の冒頭でアーカイブした2つのファイルが入った出力フォルダーです。

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法

なお、展開先にDocsフォルダーがすでに存在する場合、PowerShellはファイルの解凍を試みた時点でエラーを返します。ただし、-Forceパラメーターを使用すれば、既存のデータを新しいデータで強制的に上書きさせることができます。

-Forceパラメーターは、古いファイルがもう不要であることが確実な場合にのみ使用してください。この操作により、コンピューター上のファイルが不可逆的に置き換えられるためです。

以上で、Windows 11/10のPowerShellユーティリティを使ってファイルを圧縮・解凍する方法の解説は終わりです!

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法
  1. Windows 10/11でファイルを圧縮・解凍する方法【標準機能で簡単操作】

    ファイルをZIP形式に圧縮すると、データサイズを小さくすることができます。複数のファイルをひとつにまとめたい場合や、大容量ファイルを扱いたい場合に特に便利な機能です。また、圧縮しておくことでファイル転送の速度向上にもつながります。そして転送が完了した後は、ファイルを再び使えるようにするために解凍作業が必要になります。この記事では、圧縮と解凍の両方のやり方をわかりやすく解説していきます。Windows 10/11でファイルを圧縮(ZIP化)する方法Windowsには、標準でZIP圧縮機能が搭載されています。まず、圧縮したいファイルやフォルダーを探しましょう。対象のファイルが見つかったら、右クリッ

  2. Windows 10のPowerShellでファイルを圧縮・解凍する方法【コマンド実例付き】

    ZIP機能を使うと、ファイルとその関連設定を1つのファイルにまとめて、容量を小さく圧縮できます。こうして作成したZIPファイルは、メールやその他のファイル共有サービスを通じて、簡単に他の人へ送信できるのが大きなメリットです。 ZIP圧縮といえば、WinRARや7-Zipといった専用ソフトを使うのが一般的ですが、実はWindowsに標準搭載されているPowerShellでも、追加ソフトなしでファイルの圧縮・解凍が可能です。この記事では、その具体的な手順をわかりやすく解説します。 関連記事:WindowsとMacでファイルを圧縮する方法 PowerShellでファイルをZIP圧縮する方法 まずは、