経緯
お客様と固定のパスワードでやり取りをする場合に、パスワード間違いの対策として、スプリクト化を試みました。
調べた結果、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%