サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

Mac で Zip にパスワードをかける(Finder で右クリックして)

はじめに

仕事でパスワード付き Zip を作る必要が発生しました。

以下のようなサイトで、やり方については知ることができました。

参考:わりと簡単!Macで圧縮ファイルにパスワードをかける方法

しかし頻度が高くなってきたため、Finder 上でコマンドの起動をしたくなりました。

サービスを Automator で作ることによって実現します。

手順1「Automator の起動」

Automator を起動します。「アプリケーション」フォルダに入っています。

起動すると、作成する Automator 書類の「書類の種類」を選択するシートが開きます。ここで「サービス」を選択します。

f:id:saponte:20190330084755p:plain
Automatorを起動。サービスを選択。

手順2「アクションの追加」

アクションから「AppleScript を実行」をドラッグします。

f:id:saponte:20190330084843p:plain
アクションから「AppleScript を実行」をドラッグ。

手順3「AppleScript の入力」

下記の AppleScript を入力します。

on run {input, parameters}
    (* 入力ファイルからパスを取得する *)
    set theFile to item 1 of input
    
    (* 拡張子判定 *)
    set fileEx to name extension of (info for theFile)
    if fileEx = "zip" then
        (* ターミナルで開く *)
        tell application "Terminal" to activate
        tell application "Terminal" to do script "zipcloak " & quoted form of POSIX path of theFile
    end if
end run
(* 削除・編集したくなったら ~/Library/Services にあります *)

以下のようになります。

f:id:saponte:20190330084928p:plain
AppleScript を入力する。

手順4「保存」

作成したサービスを保存します。

ファイルメニューから「保存」を実行するとシートが開くので、名称を入力します。この名称が Finder のコンテキストメニュー項目の名前になります。

ここでは「Zip にパスワードをかける」とします。

f:id:saponte:20190330084958p:plain
サービスを名前をつけて保存

手順5「確認」

Finder 上でファイルを選択して右クリック、コンテキストメニューから「サービス > Zip にパスワードをかける」を選択します。

Zip ファイルの場合、ターミナルが起動して zipcloak コマンドが実行されます。Zip ファイル以外は無視されるはずです。

サービスメニューから削除したくなったら

Automator のワークフローは ~/Library/Services に保存されています。それを削除すれば OK です。

参考:Mac標準アプリのAutomatorで作ったサービスの削除方法 | Taka's Life