背景
自端末がmacOSであり、たまに仕事柄パスワードをつけてzipファイルをやりとりすることがある。
しかし、その場しのぎで対応していたため、毎回調べ物で同じミスをして、同じ修正をしていたため、非効率と感じ、記事化することにした。
目的
macでパスワード付きzipを作成する。
事象
「ただパスワード付きzipコマンド打てば、できるんでしょ?」
そう思った方いらっしゃると思います。
実は、そのままだとうまくパスワード付き圧縮ができないパターンがあります。
パスワード付き圧縮ができないパターン
・Finder上でファイルを圧縮して、そのファイルに対してzipcloakコマンドを使ってパスワードを付与した場合
この場合、圧縮は成功。しかし、受取手がパスワード解凍する際にうまく開けないという事象が起きます。
圧縮コマンド実行
下記のどちらかで圧縮した場合、成功します。
zip -e -r encrypt.zip /Users/[ユーザー名]/Downloads/sample //コマンド実行時のパスと圧縮したいディレクトリが別の階層にある場合
zip -e -r encrypt.zip sample //コマンド実行時のパスと圧縮したいディレクトリが同じ階層にある場合
オプションの解説
-e :暗号化する
-r :ディレクトリ内のファイルを再帰的に扱う
注意点:
ただ、/Users/[ユーザー名]/Downloads/sampleというディレクトリ構造をそのまま保った状態で
zip化されてしまう。
下記で実行すると、sample/test.txtというディレクトリ構造で圧縮ができます。
今回は/Users/[ユーザー名]/Downloads/というフォルダは不要だったので、こちらで対応しました。
zip -e -r encrypt.zip sample/ -i sample/test.txt
参考