6
1

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.

PLISEAdvent Calendar 2021

Day 3

macOSでスクリーンショット名を自動リネームする

Last updated at Posted at 2021-12-02

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を書いていきます!

手順

  1. Automator Appを起動する

  2. Folder Actionを選択する
    Screen Shot 2021-12-02 at 18.10.14.png

  3. 検索窓にrunと入力し、Run Shell Scriptをダブルクリック(またはドラッグする)
    Screen Shot 2021-12-02 at 18.12.25.png

  4. Choose folderの欄にスクリーンショットの保存先を選択
    Screen Shot 2021-12-02 at 18.14.58.png

  5. Pass input:の欄をas argumantsとする

  6. コマンドを以下のように設定する

echo "$@" | sed -n 's/\(.*\)Screen Shot .\{2\}\(.*\) at \(.*\)\.\(.*\)\.\([^ ]*\) *\(.*\)\.png$/mv "&" "\1\2_\3\4\5\6.png"/p' | zsh
  1. Commmand + Sで保存し、名前を適当をつけて完成!!
  2. スクリーンショットを撮るとメニューバーに歯車マークが現れ、名前が変更されていることがわかると思います。(もしダメな場合はsedのところをよく確認してみてください)
    21-12-02_183739.png

説明

途中に出てきたコマンドは3つに分かれています。

1. echo "$@"
2. sed -n 's/\(.*\)スクリーンショット .\{2\}\(.*\) \(.*\)\.\(.*\)\.\([^ ]*\) *\(.*\)\.png$/mv "&" "\1\2_\3\4\5\6.png"/p'
3. zsh

これらをパイプで繋いで処理を実現しています。

  1. echoコマンドを用いて引数を表示
  2. sedコマンドによりファイル名を置換するコマンドを作成(mv 元ファイル名.png 新ファイル名.pngといった感じ)
  3. 上記で作成したコマンドをzshに流して実行する。

最後に

「21-12-02_175522.png」という形式ではなく、他の形式に変更したい場合はsedコマンドの正規表現部分を書き換えてみてください!

6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?