WindowsでZip圧縮・Zip解凍をバッチで行う方法
WindowsでZip圧縮・Zip解凍をバッチで行いたいと思うことがあります。
特にZipの解凍は、サーバやプログラムの処理だけでなく、ダウンロードしたZipファイルがギガサイズの大きなファイルの場合、右クリックなどのファイル操作しようとするだけで膨大な時間がかかることがあります。
そんな場合に備えて、PowerShellのコマンドをバッチで起動させてZipを解凍させるサンプルも記載します。
結論
PowerShellの下記コマンドを使用します。
解凍:Expand-Archiveコマンド
Expand-Archive -Path <圧縮ファイル> -Destination <解凍先> -Force
Expand-Archive -Path <圧縮ファイル>
Expand-Archive -Path <圧縮ファイル>
「Expand-Archive -Path <圧縮ファイル>」の場合はZipファイルと同名フォルダに展開されます。
-Forceは解凍したファイルで上書きします。
リテラルパス (LiteralPath) を使用する場合は、
•ワイルドカードは使わない
•正確なファイルパスを指定する
ことにに注意する。
圧縮:Compress-Archiveコマンド
Compress-Archive -Path <圧縮元> -Destination <圧縮先>
-Updateを使うと、圧縮済みのZIPファイルにファイルを追加する。
圧縮率を変更したい場合は、-CompressLevelを使用する。
解凍バッチサンプル
バッチサンプルは下記になります。
echo off
cls
echo *************************
echo PowerShell Expand-Archive
echo *************************
pause
echo Expand-Archive START: %DATE% %TIME% >> expand_archive.log
powershell Expand-Archive -Path %1
echo Expand-Archive END: %DATE% %TIME% >> expand_archive.log
cls
echo *************************
echo PowerShell Expand-Archive
echo *************************
pause
echo Expand-Archive START: %DATE% %TIME% >> expand_archive.log
powershell Expand-Archive -Path %1
echo Expand-Archive END: %DATE% %TIME% >> expand_archive.log
このバッチで出力されるexpand_archive.logの中身はこんな感じです。
Expand-Archive START: 2021/05/11 15:20:07.49
Expand-Archive END: 2021/05/11 15:20:21.26
Expand-Archive END: 2021/05/11 15:20:21.26
バッチを作成し、Zipファイルをバッチへドラッグアンドドロップすれば解凍します。
解凍バッチの使いかた
1.Zipファイルと同じフォルダ内に、Expand-Archive.batファイルを作成し、上記サンプルを貼付、保存します。
2.Expand-Archive.batファイルにZipファイルをドラッグアンドドロップします。
3.バッチが起動するので、解凍する場合は何かキーを押します。
4.処理がはじまるので少し待ちます。
5.Zipファイルが解凍され、expand_archive.logが出力されます。
参考)Windows書籍
Windowsを使いこなすための知識・技術を習得する際に参考になる書籍です。リンク
リンク
リンク
コメント