ゲーム作るくんのサイト
ゲーム作るくん
Twitter

Mac でスクリーンショットの保存先を変える方法

ゲーム制作してるとリリースの際などにスクショを撮ることがあると思いますが、Mac のデフォルトだとデスクトップにどんどんスクショが溜まっていって微妙に不便、みたいなことがあります。

保存先の変更

以下のコマンドを実行することでスクリーンショットの保存場所を変更できます。

defaults write com.apple.screencapture location ~/Desktop/screenshots
killall SystemUIServer

ファイル名の変更

あと、デフォルトだとファイル名が

スクリーンショット 2023-03-05 6.39.00

という形式で、これだと、

という不満点があります。

ネットで調べると以下のようにすればファイル名を変更できる、という情報が見つかるんですが、

defaults write com.apple.screencapture name "screenshot"
killall SystemUIServer

これだとファイル名に日本語が入っている、という部分しか解決できません。

シェルコマンドを使った解決策

そこで、ちょっとやりすぎかもしれませんが、以下のようなコマンドを書いて解決することにしました。

for i in ~/Desktop/screenshots/スクリーン*.png; do mv "$i" ~/Desktop/screenshots/screenshot-$RANDOM$RANDOM$RANDOM.png; done

これでファイルの名前が

screenshot-3086261923796.png

みたいな形式に変わります。

私の場合は撮ったスクショをこのサイトに上げることが多いので、さらに以下のコマンドを追加してコピペを楽にできるようにしています。

for i in ~/Desktop/screenshots/screen*.png; do echo "<img src=\"/images/screenshots/$(basename $i)\" alt=\"スクリーンショット\">"; done

これで

<img src="/images/screenshots/screenshot-3086261923796.png" alt="スクリーンショット">

というような出力が得られます。

alt の部分を自動生成するのは難しいので「スクリーンショット」とだけ入れてるんですが、ここも画像解析 API とか使えば自動化できるのかもしれませんが、まあそこまではいいかという感じです。