Macでパスワードつきのzipファイルを作る 完全版
後輩のid:MoChiwakiが(Mac で zip圧縮 パスワード付き! - MoChiwakiブログ)というエントリを書いていたので僕も便乗してみる。
たぶん社内資料を会社に送付するときに必要になったんだと思う。
せっかくなのでMacでできるパスワードつきzipファイルの作り方を調べてみました。
1. zipファイルを作成して、後からパスワードをつける
id:MoChiwakiが紹介している方法ですが、
zipファイルを作成してから「zipcloak」というコマンドでパスワードを後付けします。
zipファイルの作成はFinder上なら右クリックで「"ファイル名"を圧縮」を選択するか、
ターミナル上ならzipコマンドでOKです。
ターミナル上で実行する場合は以下のようになります。
$ zip tmp.zip tmp.txt adding: tmp.txt (stored 0%) $ zipcloak tmp.zip Enter password: Verify password: encrypting: tmp.txt
2. zipコマンドだけでパスワードつきzipファイルを作成する
zipコマンドだけでもパスワードつきzipファイルを作成することができます。
zipファイルを作成するときにオプションを指定するだけです。
#file zip -e 圧縮後のファイル名.zip ファイルのパス #dir zip -e -r 圧縮後のファイル名.zip ディレクトリのパス
# file $ zip -e tmp.zip tmp.txt Enter password: Verify password: adding: tmp.txt (stored 0%)
# dir $ zip -e -r tmp.zip tmp Enter password: Verify password: adding: tmp/ (stored 0%) adding: tmp/tmp.txt (stored 0%)
3. ツールでパスワードつきzipファイルを作成する
MacZip4winというツールを使うと、
Finder上からパスワードつきのzipファイルを作成することができます。
またこのツールでzipファイルを作ると、Windowsで解凍しても文字化けしないという特徴があります。
理由は圧縮時にファイル名をShift_JISで扱うからです。
また「.DS_Store」などMac特有のファイルも圧縮時に削除してくれます。
使い方は、MacZip4winを起動すると以下のような画面が立ち上がるので、
圧縮したいファイルおよびディレクトリをドラッグアンドドロップします。
そうするとパスワード入力の画面が出てくるのでパスワードを設定したら完了です。
オプションの「Encrypt」がパスワードの有無で、
「No Compress」は無圧縮でアーカイブのみ行います。
さて、ここまで色々見てきましたが、感想としてどれも地味に面倒くさいと思ったので、
こんな関数を書いてみました。殴り書きですが多分動くと思いますw
function ze() { if [ $# = 0 ]; then echo "usage: ze [./file] [./dirctory]" else arg=$1 if [ `echo $arg | grep '\.'` ]; then file_name=`echo $arg | cut -d'.' -f1` zip -e "$file_name.zip" $arg else zip -e -r "$arg.zip" $arg fi fi }
はてなダイアリーってGistの貼り付けできなかったっけ??
なんかscriptタグがうまく反映されなくてできなかった。
ともかくこれを.zshrcとかの設定ファイルに書いて、
若干コマンド量を減らしてパスワードつきzipファイルを作れるようになりました。
# file $ ze カレントのファイル # dir $ ze カレントのディレクトリ
# file $ ze tmp.txt Enter password: Verify password: adding: tmp.txt (stored 0%)
# dir $ ze tmp Enter password: Verify password: adding: tmp/ (stored 0%) adding: tmp/tmp.txt (stored 0%)
まとめ
好きな方法でやればいいと思うw