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

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法【完全ガイド】

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

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

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

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

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

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

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

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法【完全ガイド】

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

また、フォルダ内のすべてのコンテンツとサブフォルダを丸ごと圧縮したい場合は、上記と同じ構文で<PathToFiles>にフォルダのパスを指定するだけで対応できます。

実行結果は以下の画像のようになります。

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法【完全ガイド】

このコマンドでは、個別のファイルを指定せずに、複数のファイルやフォルダを含むディレクトリのパスを渡します。PowerShellはルートディレクトリの中身すべて(サブフォルダも含む)を自動的に検出して圧縮します。

関連記事:.TAR.GZ / .TGZ / .GZファイルを開く方法

ワイルドカード文字(*)を活用した応用テクニック

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

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

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

Windows 11/10でPowerShellを使ってファイルを圧縮・解凍する方法【完全ガイド】

次に、.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でファイルを圧縮できるさまざまなシナリオの解説です。続いて、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パラメータは、古いファイルがもう不要であることが確実な場合にのみ使用してください。この操作により、PC上のファイルが元に戻せない形で置き換えられるためです。

以上が、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圧縮する方法 まずは、