このエントリーをはてなブックマークに追加


PowerShellを使ったZipファイルの作成、展開サンプル

PowerShellのバージョンが5であれば、ZIPファイルの作成(圧縮)および展開をPowerShellのコマンドレットを使って実現することができます。
PowerShellのバージョン確認は以下の記事を参照してください。


PowerShellでZIPファイル(圧縮)を作成

Compress-Archiveコマンドレットを使用することにより、ZIPファイルを作成することができます。
以下の手順は、圧縮対象とするファイルを作成し、Compress-ArchiveコマンドレットでZIPファイルを作成する手順になります。

  1. 圧縮するテキストファイルを作成します
    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
  2. 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を使用して説明します。

  1. 圧縮対象だったテキストファイルを削除
    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のみとなりました。
  2. 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
  3. 展開するディレクトリを指定する場合は、以下のようにします
    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ファイルの展開方法について記しました。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-04-13 (金) 13:12:35