【Powershell】ファイルとフォルダを圧縮させてみた

Powershell Powershell
この記事は約4分で読めます。

Powershellでファイルとフォルダを圧縮させてみました。

広告

ファイルとフォルダを圧縮させる

Compress-Achive コマンドを利用して圧縮可能です。

ファイルの圧縮

# 圧縮するファイルのフルパス
$SourceFilePath = "C:\hogehoge.txt"

# 出力するZIPファイルのフルパス
$ZipFilePath = "C:\CompressedFile.zip"

# ファイルを圧縮
Compress-Archive -Path $SourceFilePath -DestinationPath $ZipFilePath

実行結果

コマンドの実行前後でzipファイル有無を確認しています。

コマンド実行前後で False→True に変わっているので圧縮ファイルが作成されたことが分かります。

PS C:\> # 圧縮するファイルのフルパス 
PS C:\> $SourceFilePath = "C:\hogehoge.txt"
PS C:\>
PS C:\> # 出力するZIPファイルのフルパス
PS C:\> $ZipFilePath = "C:\CompressedFile.zip"
PS C:\>
PS C:\> # 事前確認
PS C:\> Test-Path -Path $ZipFilePath
False
PS C:\>
PS C:\> # ファイルを圧縮
PS C:\> Compress-Archive -Path $SourceFilePath -DestinationPath $ZipFilePath
PS C:\>
PS C:\> # 事後確認
PS C:\> Test-Path -Path $ZipFilePath
True

フォルダの圧縮

ファイルの圧縮とほとんど同じコマンドで実行可能です。

# 圧縮するフォルダのパス
$SourceFolderPath = "C:\hogehoge"

# 出力するZIPファイルのフルパス
$ZipFolderPath = "C:\CompressedFolder.zip"

# フォルダを圧縮
Compress-Archive -Path $SourceFolderPath -DestinationPath $ZipFolderPath

実行結果

コマンドの実行前後でzipファイル有無を確認しています。

コマンド実行前後で False→True に変わっているので圧縮ファイルが作成されたことが分かります。

PS C:\> # 圧縮するフォルダのパス
PS C:\> $SourceFolderPath = "C:\hogehoge"
PS C:\>
PS C:\> # 出力するZIPファイルのフルパス
PS C:\> $ZipFolderPath = "C:\CompressedFolder.zip"
PS C:\>
PS C:\> # 事前確認
PS C:\> Test-Path -Path $ZipFolderPath
False
PS C:\>
PS C:\> # フォルダを圧縮
PS C:\> Compress-Archive -Path $SourceFolderPath -DestinationPath $ZipFolderPath
PS C:\>
PS C:\> # 事後確認
PS C:\> Test-Path -Path $ZipFolderPath
True

[参考] 複数ファイルを同じ圧縮ファイルする場合

複数のファイルを同じ圧縮ファイルすることもできます。

ファイルの部分をフォルダにしても実行可能です。

# 圧縮するファイルのフルパス(複数)
$SourceFiles = "C:\FileA.txt", "C:\FileB.txt"

# 出力するZIPファイルのフルパス
$ZipFilePath = "C:\CompressedFiles.zip"

# 複数のファイルを圧縮
Compress-Archive -Path $SourceFiles -DestinationPath $ZipFilePath

タイトルとURLをコピーしました