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で圧縮する基本手法から応用例までを解説しました。これで、簡単なスクリプトを書くだけで、ファイルの管理がグッと楽になるでしょう。
コメント