1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windowsに安全に引き渡せるzipファイルをmacで作る

Last updated at Posted at 2023-02-10

環境: macOS Monterey

設定方法

  1. ⌘キー+Spaceキーを押してSpotlight検索を開き、「Automator.app」と入力してAutomatorを起動する

  2. ファイル選択ダイアログが表示された場合は、左下の「新規書類」を選択

  3. 以下の画像の画面が表示されたら、「クイックアクション」を選択して右下の「選択」を押す

    スクリーンショット 2023-02-10 12.41.41.png

  4. 左上の検索窓に「シェルスクリプトを実行」と入力すると、以下の画像のように1つだけ項目が表示されるので、この「シェルスクリプトを実行」アクションを右側の灰色の領域にドラッグ&ドロップする

    スクリーンショット 2023-02-10 12.44.11.png

    正しく操作できていれば以下の画像のように表示される。

    スクリーンショット 2023-02-10 12.45.12.png

  5. 以下のように項目を指定する

    • ワークフローが受け取る現在の項目: 「ファイルまたはフォルダ」
    • 検索対象:「Finder.app」
    • シェル:「/bin/bash」
  6. 「cat」のみ表示されているテキスト入力欄に、以下のコマンドをコピペする

    Shell
    for target in "$@"
    do
        # 対象のファイル名を取得
        name="${target##*/}"
        filename="$name"
        # 対象のファイルがあるディレクトリのパスを取得
        path="${target%/*}"
        cd "$path"
        if [ -f "$f" ];then
            # 選択対象がファイルの場合
            filename=$(echo "$f" | cut -f 1 -d '.')
        fi
        zip -r "${filename}.zip" "$name" \
            -x "*.DS_Store" \
            -x "*._*" \
            -x "*.icloud"
    done
    
  7. ⌘キー+Sまたはメニューバーの「ファイル」→「保存」から保存する。ファイル名がコマンド名になるので、わかりやすいものにしておくと良い
    (保存場所はどこでも良いが、iCloudのフォルダに入れておくとバックアップになる)

zipコマンドの説明
  • -r "${filename}.zip": 選択したファイルorフォルダの名前でzipを作る
  • -x "*.DS_Store": mac特有の .DS_Store ファイルを除外する
  • -x "*._*": mac特有のゴミファイルを除外する
  • -x "*.icloud": iCloud上にのみ存在する(ダウンロードされていない)ファイルを除外する

使い方

  1. Finderで圧縮したいファイルorフォルダを選択
  2. 右クリックで出てくるメニューのうち、「クイックアクション」から設定したコマンド名を選択すると実行される

参考

(このページの焼き増しになってしまった気もする)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?