🍎

[2025版] Macで右クリックでパスワード付きzip圧縮する

2025/02/20に公開

Macでパスワード付きzip圧縮をググると、zipcloakコマンドを使う記事によくヒットしますが、zipcloakで圧縮すると、なぜか解凍ができません・・・

というわけでzip -eを使うことにしたのですが、わざわざターミナル開いてコマンドを打つのも面倒なので、Finderから右クリックで実行できるようにしました。Automatorからクイックアクションを作成します。

やり方

まずAutomatorを起動します。新規書類でクイックアクションを選択します。

クイックアクションを作成する

下図のように入力します。

  1. ワークフローが受け取る現在の項目: ファイルまたはフォルダ
  2. 検索対象: Finder.app
  3. シェルスクリプトを実行を左のペインから探してダブルクリックして積む
  4. 入力の引き渡し方法: 引数として

シェルスクリプトの内容は次の通りです。ここではパスワード入力ダイアログを表示するようにしてますが、決まって同じパスワードだって人は直書きでもいいかもしれません。

for f in "$@"; do
	dir=$(dirname "$f")
	base=$(basename "$f")
	zip_file="$base.zip"
	
	password=$(osascript -e 'Tell application "System Events" to display dialog "パスワードを入力:" default answer "" with hidden answer' -e 'text returned of result')
	
	if [[ -n "$password" ]]; then
		cd "$dir"
		if [[ -d "$f" ]]; then
			zip -erP "$password" "$zip_file" "$base"
		else
			zip -eP "$password" "$zip_file" "$base"
		fi
	fi
done

入力を終えたらCMD+Sで保存します。名前を付けましょう。(ここではパスワード付きzip圧縮にしてます)

これでFinder上でファイルorフォルダを選択して右クリックすると・・・クイックアクションに作成したワークフローが表示されます。地味に便利!
(最初は権限の認可を求められるかもしれません)

その他

編集したくなった

のに、どこに保存されてるか最初わかりませんでした・・・。

調べたところ、/Users/<ユーザー名>/Library/Servicesの中に入ってました。

パスワードの確認

パスワード打ち間違えたら二度と解凍できないとかあり得るので、真面目に使っていくときは適宜見直しが必要だと思います。

ショートカットじゃできんの?

Macにはショートカットという機能がありますが、そちらでも実現できそうだったのですが、クイックアクションから実行すると権限周りでエラーになってしまいます。OSのバージョンにもよるっぽい。

参考: https://zenn.dev/usagimaru/articles/802b019c3ba8da

Discussion