PowerShellを使って特定のフォルダ内のファイルをZIPで圧縮する方法

PowerShellを使って特定のフォルダ内のファイルをZIP形式で圧縮する手法を初心者にも理解できるように詳しく解説します。この記事では、基本的なコードから応用例まで、深く掘り下げていきます。

目次

はじめに:PowerShellとは

PowerShellは、Microsoftが開発したタスクオートメーションフレームワークです。コマンドラインインターフェース(CLI)とスクリプト言語が統合されており、WindowsだけでなくLinuxやmacOSでも利用できます。

前提条件

この記事では以下の環境を前提としています。

  • Windows 10
  • PowerShell 5.1以降

PowerShellのバージョン確認

PowerShellのバージョンを確認するには、PowerShellを開き、以下のコマンドを入力します。

$PSVersionTable.PSVersion

基本的な処理手順

特定のフォルダ内のファイルをZIPで圧縮する基本的な手順は以下の通りです。

1. PowerShellを開く

スタートメニューから「Windows PowerShell」を開きます。

2. スクリプトを作成する

以下のサンプルコードを参考に、スクリプトを作成します。

# ターゲットとなるフォルダのパス
$folderPath = "C:\example_folder"

# ZIPファイルの出力先パス
$zipPath = "C:\example.zip"

# ターゲットフォルダをZIPで圧縮
Compress-Archive -Path $folderPath -DestinationPath $zipPath

このコードは、C:\example_folder内の全てのファイルをC:\example.zipとして圧縮します。

コードの詳細説明

ここで、上記のコードの各部分を詳しく解説します。

変数の設定

# ターゲットとなるフォルダのパス
$folderPath = "C:\example_folder"

# ZIPファイルの出力先パス
$zipPath = "C:\example.zip"

ここでは、ターゲットとなるフォルダと、ZIPファイルの出力先を変数で定義しています。

圧縮処理

# ターゲットフォルダをZIPで圧縮
Compress-Archive -Path $folderPath -DestinationPath $zipPath

Compress-Archive コマンドレットを使用して、指定したフォルダをZIP形式で圧縮します。

応用例

応用として、特定の拡張子(例:.txt)だけをZIP圧縮する例を考えます。

# ターゲットとなるフォルダのパス
$folderPath = "C:\example_folder"

# ZIPファイルの出力先パス
$zipPath = "C:\example_txt.zip"

# .txtファイルだけを取得して圧縮
Get-ChildItem -Path $folderPath -Include *.txt -Recurse | Compress-Archive -DestinationPath $zipPath

まとめ

PowerShellを使って特定のフォルダ内のファイルをZIPで圧縮する基本手法から応用例までを解説しました。これで、簡単なスクリプトを書くだけで、ファイルの管理がグッと楽になるでしょう。

コメント

コメントする

目次