【bat】パスワード付き圧縮(7-zip)

経緯

お客様と固定のパスワードでやり取りをする場合に、パスワード間違いの対策として、スプリクト化を試みました。
調べた結果、Windows標準機能だとパスワード付きの圧縮は出来ませんでした。
(bat、PowerShell、VBSどれも圧縮はできても、パスワードを指定することが出来ない)

標準ではありませんが、フリーソフト「7-zip」であればCUIでパスワード付き圧縮が出来ました。
有名なフリーソフトなので、使用が許可されている会社も多いのではないでしょうか。

サンプルプログラム

“ドラッグ”or”送る”をしたファイルを対象に、同じディレクトリにzipファイルを生成します。
パスワードを変更してご使用ください。

BAT (Batchfile)
@echo off

REM 圧縮元のディレクトリ
set SOURCE_DIR="%~1" 

REM 圧縮先のファイル名
set ZIP_FILE="%~dp1%~n1.zip"

REM 7-Zipのパス(7z.exeがある場所)
set ZIP_EXE=C:\Program Files\7-Zip\7z.exe

REM パスワード(必要に応じて変更)
set PASSWORD=password

REM パスワード付きで圧縮
"%ZIP_EXE%" a  -p%PASSWORD% %ZIP_FILE% %SOURCE_DIR%