Macでスクリーンショットを撮ると、デフォルトでは スクリーンショット 2026-05-07 12.34.56.png のような日本語混じりの長いファイル名になります。Slackに貼り付けるとき、Finderで並べたいとき、Gitリポジトリにコミットしたいとき——この名前は何かと邪魔です。

この記事では、シェルスクリプトと AppleScript アプリを組み合わせて、SS-20260507-123456.png のようなシンプルな形式に Dockから1クリック で一括リネームする方法を解説します。

過去にはAutomatorのフォルダアクションで自動化する方法もありましたが、macOS Sequoia (15) 以降でフォルダアクションが極めて不安定になったため、本記事ではより確実な「AppleScriptアプリ」方式を採用しています。

    ゴール

    Before:

    スクリーンショット 2026-05-07 12.34.56.png
    スクリーンショット 2026-05-07 12.34.56(2).png
    

    After:

    SS-20260507-123456.png
    SS-20260507-123456(2).png
    

    Dockに置いた Rename Screenshots.app をクリックするだけで、保存フォルダ内の対象ファイルがすべて変換されます。

    1. スクリーンショットのプレフィックスを変更

    まずターミナルで、スクリーンショットの先頭文字列を「SS-」に変えます。

    defaults write com.apple.screencapture name "SS-"
    

    これで SS- 2026-05-07 12.34.56.png という形式で保存されるようになります。

    元に戻したい場合

    defaults delete com.apple.screencapture name
    

    2. リネームスクリプトを作成

    スクリプト置き場のディレクトリを作成します(既にあれば不要)。

    mkdir -p ~/Library/Scripts
    

    ~/Library/Scripts/rename-screenshot.sh に以下を保存:

    #!/bin/bash
    WATCH_DIR="$HOME/Documents"
    cd "$WATCH_DIR" || exit 0
    
    shopt -s nullglob
    for f in "SS- "*.png; do
        # 全角括弧( )を半角に正規化
        normalized="${f//(/(}"
        normalized="${normalized//)/)}"
    
        # SS- YYYY-MM-DD HH.MM.SS.png または ...(n).png 形式にマッチ
        if [[ "$normalized" =~ ^SS-\ ([0-9]{4})-([0-9]{2})-([0-9]{2})\ ([0-9]{2})\.([0-9]{2})\.([0-9]{2})(\ ?\(([0-9]+)\))?\.png$ ]]; then
            if [[ -n "${BASH_REMATCH[8]}" ]]; then
                suffix="(${BASH_REMATCH[8]})"
            else
                suffix=""
            fi
            newname="SS-${BASH_REMATCH[1]}${BASH_REMATCH[2]}${BASH_REMATCH[3]}-${BASH_REMATCH[4]}${BASH_REMATCH[5]}${BASH_REMATCH[6]}${suffix}.png"
            mv -- "$f" "$newname"
        fi
    done
    

    実行権限を付与:

    chmod +x ~/Library/Scripts/rename-screenshot.sh
    

    スクリプトのポイント

    • WATCH_DIRなスクリーンショットの保存先に合わせて変更します。デフォルトは ~/Documents。デスクトップ保存なら ~/Desktop
    • 全角括弧の正規化なmacOSは重複時のサフィックスとして (2) のような全角括弧を生成することがあります(特に日本語ロケール環境)。スクリプト冒頭で半角に正規化することで、出力名は常に半角 (2) に統一されます。
    • shopt -s nullglobな対象ファイルがゼロ件のときに for ループが空回りしないようにする保険。

    単体動作テスト

    ターミナルから直接叩いて、リネームが行われるか確認します。

    ~/Library/Scripts/rename-screenshot.sh
    ls ~/Documents | grep "SS-"
    

    SS-20260507-123456.png 形式に変わっていれば成功です。

    3. AppleScript でアプリ化

    ターミナルを開かず、Dockから1クリックで実行できるアプリにします。

    手順

    1. スクリプトエディタを起動
      Spotlight(⌘+Space)で「スクリプトエディタ」と入力して起動。

    2. 以下のコードを貼り付け

      do shell script "$HOME/Library/Scripts/rename-screenshot.sh"
      
    3. アプリとして書き出す

      • メニュー:ファイル → 「書き出す...」
      • 名前:Rename Screenshots
      • 場所:~/Applications など
      • ファイルフォーマット:アプリケーション
      • 「書き出す」をクリック

    これで Rename Screenshots.app が完成します。ダブルクリックで実行され、Terminalウインドウは一切開きません。

    Dockに登録

    完成した .app をDockにドラッグ&ドロップで登録できます。スクリーンショットを撮ったらDockのアイコンを1クリックするだけで、対象フォルダ内のファイルが整った名前にリネームされます。

    アイコンをカスタマイズ(任意)

    デフォルトのスクリプトアイコンが気になる場合:

    1. Finderで Rename Screenshots.app を選択 → ⌘+I で「情報を見る」
    2. 左上の小さいアイコンをクリック(青い枠が付く)
    3. 好きな画像(PNG/ICNS)をドラッグ&ドロップ

    動作確認

    1. スクリーンショットを撮影(⌘+Shift+3 または ⌘+Shift+4)
    2. Dockの Rename Screenshots をクリック
    3. 数秒後、ファイル名が SS-20260507-123456.png 形式に変わっていれば成功

    トラブルシューティング

    ファイル名が変わらない(スペースが残る)

    macOS Sonoma 14.4 以降、スクリーンショットのファイル名で日付と時刻の間のスペースが、通常の半角スペース(U+0020)から ナロー・ノーブレークスペース(U+202F) に変更された個体があります。

    確認方法:

    ls ~/Documents | grep "SS-" | head -1 | xxd | head -3
    

    e2 80 af というバイト列が含まれていれば U+202F が混入しています。その場合はスクリプトの正規化処理を以下のように拡張:

    # 全角括弧の正規化に加え、特殊スペースも半角スペースに正規化
    normalized="${f//(/(}"
    normalized="${normalized//)/)}"
    normalized=$(printf '%s' "$normalized" | LC_ALL=C sed ___PRE_BLOCK_10___#39;s/\xe2\x80\xaf/ /g; s/\xc2\xa0/ /g')
    

    ファイル名が「SS--.png」になる

    シェルが /bin/zsh で実行されている可能性があります。スクリプト先頭の shebang が #!/bin/bash になっていることを確認してください。BASH_REMATCH はbash専用の機能で、zshでは動作しません。

    Automator のフォルダアクションが反応しない

    旧版の記事ではフォルダアクションを使っていましたが、macOS Sequoia (15) 以降は再アタッチしても次回再起動で外れる、サービスメニューに「フォルダアクション設定」が出ないなど、不具合報告が多数あります。本記事の AppleScript アプリ方式に切り替えるのが最も確実です。

    なぜAutomatorではなくAppleScriptアプリなのか

    方式自動化安定性セットアップの簡単さ
    Automator フォルダアクション✕(Sequoia以降不安定)
    launchd + WatchPaths△(CLI必須)
    AppleScript アプリ(本記事)△(手動トリガー)

    「常に自動で動いてほしい」より「気が向いたときに整理したい」運用なら、AppleScriptアプリが最も確実でシンプルです。Dockにアイコンが居座り続けることで、整理の習慣化にもつながります。

    まとめ

    • defaults write com.apple.screencapture name "SS-" でプレフィックス変更
    • シェルスクリプトで SS-YYYYMMDD-HHMMSS.png 形式に変換(全角括弧・重複サフィックスにも対応)
    • AppleScriptアプリ化してDockから1クリック実行
    • macOS Sequoia以降でも安定して動作

    Rename Screenshots.app をDockに置いてしまえば、煩雑なスクリーンショットのファイル名がスッキリ整理できます。