基本的に、ZIPファイル形式は、ファイルを1つのファイルに圧縮することにより、ファイルのサイズを縮小します。このプロセスにより、ディスクスペースが節約され、データが暗号化され、他のユーザーとファイルを簡単に共有できるようになります。この投稿では、Windows11/10でPowerShellユーティリティを使用してファイルを圧縮および解凍する方法を紹介します。( zip and unzip files )( zip and unzip files )
PowerShellを使用してファイルを圧縮する方法
まず、 Compress-Archive(Compress-Archive)コマンドレットを使用して、いくつかのファイルをZIPファイルアーカイブに圧縮します。圧縮するファイルへのパスを取得し(複数のファイルはコンマで区切られます)、指定した宛先にアーカイブします。
以下をせよ:
Windows key + Xを押してパワーユーザーメニューを開き(open Power User Menu)、キーボードのIを押してPowerShellを起動します。
次に、以下の構文を入力し、<PathToFiles>および<PathToDestination>プレースホルダーを、それぞれ圧縮するファイルへのパスと、移動する名前とフォルダーに置き換えます。
Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
注(Note):宛先パスを指定するときは、必ずアーカイブファイルに名前を付けてください。そうしないと、PowerShellによって指定した場所に「.zip」として保存されます。また、パスの前後の引用符は、ファイルパスにスペースが含まれている場合にのみ必要であることに注意してください。
または、フォルダーとそのすべてのサブフォルダーのコンテンツ全体を圧縮するには、上記と同じ構文を使用して、<PathToFiles>および<PathToDestination>プレースホルダーを、圧縮するファイルへのパスと、名前とフォルダーに置き換えます。それぞれ行きたい。
下の画像のようになります。
このコマンドは、個々のファイルを指定せずに、複数のファイルとフォルダーが含まれるディレクトリへのパスを配置します。PowerShellは、ルートディレクトリ内のすべてのものを取得し、ルートディレクトリ、サブフォルダー、およびすべてを圧縮します。
読む(Read):.TAR.GZ、.TGZ、または.GZを開く方法。ファイル(How to open .TAR.GZ, .TGZ or .GZ. Files)。
ワイルドカード文字(*)関数
Compress-Archiveコマンドレットを使用すると、ワイルドカード文字(*)を使用して機能をさらに拡張できます。この文字を使用する場合、ルートディレクトリを除外したり、ディレクトリ内のファイルのみを圧縮したり、特定の種類のすべてのファイルを選択したりできます。Compress-Archiveでワイルドカードを使用するには、 -LiteralPathがワイルドカードを受け入れないため、代わりに-Path パラメーターを使用する必要があります。
上記の両方の例から、アーカイブファイルを作成するときにルートディレクトリとそのすべてのファイルおよびサブディレクトリを含める方法を確認しました。ただし、Zipファイルからルートフォルダを除外する場合は、ワイルドカードを使用してアーカイブから除外できます。ファイルパスの最後にアスタリスク(*)を追加すると、PowerShellはルートディレクトリ内にあるものだけを取得します。正しい構文を以下に示します。
Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip
ここで、さまざまなファイルタイプ(.docx、.txt、.jpgなど)が多数あるフォルダーがあり、1つのタイプすべてを圧縮したい場合は、以下の構文を使用できます。PowerShellは、他のファイルに明示的に触れることなく、指定されたファイルをアーカイブします。この方法では、ルートフォルダのサブディレクトリとファイルはアーカイブに含まれないことに注意してください。(Bear)
Compress-Archive -Path C:\path\to\file\*.docx -DestinationPath C:\path\to\archive.zip
最後に、ルートディレクトリとそのすべてのサブディレクトリ内のファイルのみを圧縮するアーカイブが必要な場合は、star-dot-star(*。*)ワイルドカードを使用して、以下の構文でファイルを圧縮します。この方法でも、ルートフォルダのサブディレクトリとファイルはアーカイブに含まれません。
Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip
ここで、アーカイブが完了した後でも、以下に示す正しい構文で-Updateパラメーターを使用して、既存のzipファイルを更新できることを指摘する必要があります。これにより、アーカイブ内の古いファイルバージョンを同じ名前の新しいファイルバージョンに置き換え、ルートディレクトリに作成されたファイルを追加できます。
Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip
これで、Windows10で(Windows 10)PowerShellを使用してファイルを圧縮できるさまざまなシナリオのプロセスが完了しました。以下に進み、 PowerShell(PowerShell)を使用してファイルを解凍する方法を確認します。
読む(Read):Windows11/10にCURLをインストールする方法。
PowerShellを使用してファイルを解凍する方法
すでに見てきたように、PowerShellを使用してファイルを圧縮できます。ユーティリティはアーカイブを解凍することもできます。このプロセスは、圧縮するよりもさらに簡単です。必要なのは、解凍する準備ができているデータのソースファイルと宛先だけです。
それを手に入れましょう。
PowerShellを使用してファイルを解凍するには、次の手順を実行します。
PowerShellを開きます。
次に、以下の構文を入力し、<PathToZipFile>および<PathToDestination>プレースホルダーを、それぞれ圧縮するファイルへのパスと、移動する名前とフォルダーに置き換えます。
Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>
ファイルを抽出するために指定された宛先フォルダーには、アーカイブの内容が入力されます。解凍する前にフォルダーが存在しなかった場合、PowerShellはフォルダーを作成し、解凍する前にそのフォルダーにコンテンツを配置します。
既定では、-DestinationPath パラメーターを省略すると、PowerShellはコンテンツを現在のルートディレクトリに解凍し、Zipファイルの名前を使用して新しいフォルダーを作成します。
この例では、フォルダーDocsがコマンドで指定されているため、 PowerShellはパスC:\Users\Chidum.OsobaluにフォルダーDocsを作成し、アーカイブからフォルダーにファイルを抽出します。以下のこの投稿の冒頭にアーカイブされた2つのファイルを含む出力フォルダーを参照してください。
Docsフォルダーが宛先に既に存在する場合、PowerShellはファイルを解凍しようとするとエラーを返すことに注意してください。ただし、-Force パラメーターを使用して、 PowerShellにデータを新しいデータで上書きさせることができます。
-Force パラメーターは、古いファイルが不要になった場合にのみ使用してください。これにより、コンピューター上のファイルが元に戻せなくなります。
And this wraps up our subject on how to zip and unzip files using the PowerShell utility in Windows 11/10!
How to Zip and Unzip files using PowerShell in Windows 11/10
Essentially, the ZIP fіle format reduces the size of files by compressing them into a single file. This proceѕs saves disk space, encrypts data, and makes it easy to share fіlеs wіth others. In this post, we will show you how to zip and unzip files using the PowerShell utility in Windows 11/10.
How to zip files using PowerShell
You begin by compressing some files into a ZIP file archive using the Compress-Archive cmdlet. It takes the path to any files you want to compress—multiple files are separated with a comma—and archives them in the destination you specify.
Do the following:
Press Windows key + X to open Power User Menu and then press I on the keyboard to launch PowerShell.
Next, type in the syntax below, replacing <PathToFiles> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
Note: When you provide the destination path, be sure to give the archive file a name or PowerShell will save it as “.zip” where you specify. Also, bear in mind that quotations around the path are only necessary when the file path contains a space.
Alternatively, to zip the entire contents of a folder and all of its subfolders, you can use the same syntax as above, replacing <PathToFiles> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
It should look like as shown in the image below.
This command puts the path to a directory with multiple files and folders in it without specifying individual files. PowerShell takes everything inside of the root directory and compresses it, subfolders, and all.
Read: How to open .TAR.GZ, .TGZ or .GZ. Files.
The wildcard character (*) function
The Compress-Archive cmdlet lets you use a wildcard character (*) to expand the functionality even further. When you use the character, you can exclude the root directory, compress only files in a directory, or choose all files of a specific type. To use a wildcard with Compress-Archive, you must use the -Path parameter instead, as -LiteralPath does not accept them.
Now, from both examples given above, you have seen how to include the root directory and all of its files and subdirectories when creating an archive file. However, if you want to exclude the root folder from the Zip file, you can use a wildcard to omit it from the archive. By adding an asterisk (*) to the end of the file path, PowerShell will only grab what’s inside of the root directory. The correct syntax is presented below.
Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip
Now, in the case whereby you have a folder with a bunch of different file types (.docx, .txt, .jpg, etc.) but only want to compress all of one type, you can use the syntax below. PowerShell will archive the files specified without touching the others explicitly. Bear in mind that subdirectories and the files of the root folder aren’t included in the archive with this method.
Compress-Archive -Path C:\path\to\file\*.docx -DestinationPath C:\path\to\archive.zip
Lastly, if you want an archive that only compresses files in the root directory and all its subdirectories, you will use the star-dot-star (*.*) wildcard to zip the files with the syntax below. With this method too, subdirectories and the files of the root folder aren’t included in the archive.
Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip
Now, it’s imperative to point out that even after the archive is complete, you can update an existing zipped file with the use of the -Update parameter with the correct syntax provided below. This lets you replace older file versions in the archive with newer ones that have the same names, and add files that have been created in the root directory.
Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip
And this concludes the process of the various scenarios that you can zip files using PowerShell in Windows 10. Continue below to see how you can unzip files using PowerShell.
Read: How to install CURL on Windows 11/10.
How to Unzip files using PowerShell
As you have already seen, PowerShell can be used to zip files. The utility also can unzip archives. The process is even easier than compressing them – all you need is the source file and a destination for the data ready to unzip.
Let’s get to it.
To unzip files using PowerShell, do the following:
Open PowerShell.
Next, type in the syntax below, replacing <PathToZipFile> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>
The destination folder specified to extract the files into will populate with the contents of the archive. If the folder didn’t exist before unzipping, PowerShell will create the folder and place the contents into it before unzipping.
By default, if you leave out the -DestinationPath parameter, PowerShell will unzip the contents into the current root directory and use the name of the Zip file to create a new folder.
In this example, the folder Docs is specified in the command, so PowerShell will create the folder Docs in the path C:\Users\Chidum.Osobalu and extract the files from the archive into the folder. See the output folder containing the two files archived at the beginning of this post below.
Note that, if the folder Docs already exists in the destination, PowerShell will return an error when it tries to unzip the files. However, you can force PowerShell to overwrite the data with the new ones using the -Force parameter.
You should only use the -Force parameter if the old files are no longer needed, as this will irreversibly replace the files on your computer.
And this wraps up our subject on how to zip and unzip files using the PowerShell utility in Windows 11/10!