【バッチファイル】ZIPファイルを解凍(展開)する

バッチファイルから
 ・ZIPファイルを解凍(展開)
できます!
※ここで紹介するのは「パスワード無しZIPファイル」の解凍(展開)方法です。

バッチファイルから
 ・Power Shellのコマンドレットを実行
することで実現します!
※コマンドレット「Expand-Archive」により実現します。

実行結果も取得できます!
※正常終了の場合、実行結果は「0」になります。
※異常終了の場合、実行結果は「1」になります。

コード

ここでは例として
 ・デスクトップ配下のZIPファイル「ken_all.zip」を
 ・デスクトップ配下のフォルダ「output」配下へ解凍(展開)
します。

ZIPファイル

「ken_all.zip」は「郵便局のサイトからダウンロードした郵便番号データ(全国一括)」です。

@echo off

rem 解凍(展開)するZIPファイルを指定
set zipFilePath=C:\Users\user\Desktop\ken_all.zip
rem 解凍(展開)先フォルダを指定
set destFolderPath=C:\Users\user\Desktop\output

rem 実行するPowerShellのコマンドレットを組み立て
set psCommand=powershell -NoProfile -ExecutionPolicy Unrestricted Expand-Archive -Path %zipFilePath% -DestinationPath %destFolderPath% -Force

rem PowerShellのコマンドレットを実行
%psCommand%

rem 実行結果を確認
if %errorlevel% == 0 (
    echo 正常終了しました。戻り値:%errorlevel%
) else (
    echo 異常終了しました。戻り値:%errorlevel%
)
echo.
pause
exit

「解凍するZIPファイル」を指定します(4行目)。
「解凍先フォルダ」を指定します(6行目)。

実行するPower Shellのコマンドレットを組み立てます(9、10行目)。
※実行するPower Shellのコマンドレット「Expand-Archive」を組み立てます
※オプション「-Force」により、解凍(展開)先フォルダに同名のファイルが存在する場合は上書きします。

ZIPファイルを解凍(展開)します(13行目)。
※Power Shellのコマンドレット「Expand-Archive」を実行します。

「if」と環境変数「errorlevel」により、「戻り値(実行結果)」を判定します(16~20行目)。

実行結果

ZIPファイルを解凍(展開)できました。

実行結果①
実行結果①
実行結果②
実行結果②
実行結果③
実行結果③

参考①

ファイル/フォルダをZIP形式で圧縮することもできます。

詳細は以下の記事をご確認ください。

参考②

解凍(展開)する前に、解凍(展開)するZIPファイルの存在確認をしたほうがよいです。

ファイルの存在確認の詳細は、以下の記事をご確認ください。

参考③

上記で使用した以下の詳細は、公式サイトをご確認ください。

●Power Shellのコマンドレット「Expand-Archive」

参考④

上記で使用したZIPファイルは、以下の記事で「インターネットからダウンロードしたファイル」です。

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