PowerShellを使ったZipファイルの作成、展開サンプル †
PowerShellのバージョンが5であれば、ZIPファイルの作成(圧縮)および展開をPowerShellのコマンドレットを使って実現することができます。
PowerShellのバージョン確認は以下の記事を参照してください。
PowerShellでZIPファイル(圧縮)を作成 †
Compress-Archiveコマンドレットを使用することにより、ZIPファイルを作成することができます。
以下の手順は、圧縮対象とするファイルを作成し、Compress-ArchiveコマンドレットでZIPファイルを作成する手順になります。
- 圧縮するテキストファイルを作成します
PS C:\work> echo "SAKURA" | Out-File -Encoding default sakura.txt
PS C:\work> echo "TSUBAKI" | Out-File -Encoding default tsubaki.txt
PS C:\work> echo "SUZURAN" | Out-File -Encoding default suzuran.txt
PS C:\work> Get-ChildItem -Name *.txt
sakura.txt
suzuran.txt
tsubaki.txt
- Compress-Archiveコマンドレットを使って作成した3つのテキストファイルを対象に圧縮してみます。
圧縮に時間がかかる場合、プログレスバーが表示されます。
PS C:\work> Compress-Archive *.txt flower.zip
PS C:\work> Get-ChildItem *
ディレクトリ: C:\work
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2018/04/13 12:54 346 flower.zip
-a---- 2018/04/13 12:51 8 sakura.txt
-a---- 2018/04/13 12:52 9 suzuran.txt
-a---- 2018/04/13 12:52 9 tsubaki.txt
ZIPファイル(flower.zip)が作成されました。
Compress-Archiveコマンドレットを使ってZIPファイルを作成する場合は、以下の構文になります。
Compress-Archive 圧縮したいファイル 出力するZIPファイル名
または(オプションをちゃんとつける場合は)
Compress-Archive -Path ファイル -DestinationPath 出力するZIPファイル名
PowerShellでIPファイルを展開する †
Expand-Archiveコマンドレットを使用することにより、ZIPファイルを展開することができます。
動作検証のため、ZIPファイルを用意してください。
本資料では、上記で作成したflower.zipを使用して説明します。
- 圧縮対象だったテキストファイルを削除
PS C:\work> Get-ChildItem
ディレクトリ: C:\work
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2018/04/13 12:57 346 flower.zip
-a---- 2018/04/13 12:51 8 sakura.txt
-a---- 2018/04/13 12:52 9 suzuran.txt
-a---- 2018/04/13 12:52 9 tsubaki.txt
PS C:\work> rm *.txt
PS C:\work> Get-ChildItem -Name
flower.zip
flower.zipのみとなりました。
- flower.zipをExpand-Archiveコマンドレットを使用して展開します
PS C:\work> Expand-Archive .\flower.zip
PS C:\work> Get-ChildItem
ディレクトリ: C:\work
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2018/04/13 13:02 flower
-a---- 2018/04/13 12:57 346 flower.zip
展開できましたが、flowerディレクトリが作成され、flowerディレクトリ内にファイルが展開されています。
PS C:\work> Get-ChildItem .\flower\
ディレクトリ: C:\work\flower
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2018/04/13 12:51 8 sakura.txt
-a---- 2018/04/13 12:52 9 suzuran.txt
-a---- 2018/04/13 12:52 9 tsubaki.txt
- 展開するディレクトリを指定する場合は、以下のようにします
PS C:\work> Expand-Archive -Path .\flower.zip -DestinationPath .
PS C:\work> Get-ChildItem
ディレクトリ: C:\work
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2018/04/13 13:02 flower
-a---- 2018/04/13 12:57 346 flower.zip
-a---- 2018/04/13 12:51 8 sakura.txt
-a---- 2018/04/13 12:52 9 suzuran.txt
-a---- 2018/04/13 12:52 9 tsubaki.txt
オプションを使って、zipファイルと展開先ディレクトリを指定しています。
Expand-Archiveコマンドレットを使ってZIPファイルを展開する場合は、以下の構文になります。
Expand-Archive ZIPファイル
または(オプションをちゃんとつける場合は)
Expand-Archive -Path ZIPファイル -DestinationPath 展開するディレクトリ
以上、PowerShellでZIP圧縮ファイルの作成および、ZIPファイルの展開方法について記しました。