Macをお使いのみなさま〜
スクリーンショットを撮った際、
- ファイル名を分かりやすくしたい
こう思ったことはないですか??
自分なりの解決方法を見つけたので備忘録的に残しておきます。
環境
環境設定を英語にしているため適宜いい感じに日本語に読み替えてください。
余裕があれば日本語でも試したいと思います。。
ちなみに英語ではデフォルトが「Screen Shot 2021-12-02 at 17.55.22.png」となっており、
今回は「21-12-02_175522.png」という名前に変更しようと思います。
macOS Big Sur version 11.6
Chip Apple M1
Automator
「mac スクリーンショット 名前 変更」と調べてみても良さげな方法がなく諦めようとしていたところ、
macにはAutomator App
なるものがあることを知りました。
今回はこちらのAppを使用して「ファイルが追加される→名前を変更する」というActionを書いていきます!
手順
-
Automator App
を起動する -
Pass input:
の欄をas argumants
とする -
コマンドを以下のように設定する
echo "$@" | sed -n 's/\(.*\)Screen Shot .\{2\}\(.*\) at \(.*\)\.\(.*\)\.\([^ ]*\) *\(.*\)\.png$/mv "&" "\1\2_\3\4\5\6.png"/p' | zsh
-
Commmand + S
で保存し、名前を適当をつけて完成!! - スクリーンショットを撮るとメニューバーに歯車マークが現れ、名前が変更されていることがわかると思います。(もしダメな場合は
sed
のところをよく確認してみてください)
説明
途中に出てきたコマンドは3つに分かれています。
1. echo "$@"
2. sed -n 's/\(.*\)スクリーンショット .\{2\}\(.*\) \(.*\)\.\(.*\)\.\([^ ]*\) *\(.*\)\.png$/mv "&" "\1\2_\3\4\5\6.png"/p'
3. zsh
これらをパイプで繋いで処理を実現しています。
-
echo
コマンドを用いて引数を表示 -
sed
コマンドによりファイル名を置換するコマンドを作成(mv 元ファイル名.png 新ファイル名.png
といった感じ) - 上記で作成したコマンドを
zsh
に流して実行する。
最後に
「21-12-02_175522.png」という形式ではなく、他の形式に変更したい場合はsed
コマンドの正規表現部分を書き換えてみてください!