読者です 読者をやめる 読者になる 読者になる

kzk-casino.com

一人前のITエンジニアを目指して

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

Macスクリーンショットは下記の方法で取得できますが

Mac でスクリーンショットを撮る方法 - Apple サポート

その保存先が~/Desktopとなっており、大量のスクリーンショットを撮るときに不便なので

保存先の変更方法について調べてみました。


すると下記の記事がヒット

Mac - スクリーンショットで撮影した画像の保存場所を変更 - PC設定のカルマ


要するに下記のコマンドで変更できるみたいです。

$ defaults write com.apple.screencapture location ~/Pictures/
$ killall SystemUIServer

上の例だと~/Pictures/に保存先を変更しています。


しかしこのコマンドをいちいち覚えておくのは面倒くさい。

というわけで別コマンドでパッケージすることにしました。


まず「change_screenshot_path.sh」というシェルを「/usr/local/bin」に作成。

$ cd /usr/local/bin 
$ vim change_screenshot_path.sh
#!/bin/sh

# set variable 
new_path=${1}

# check path 
ls -l $new_path >/dev/null 2>&1

if [ ${?} = 1 ] ; then
  echo "$new_path is incorrect. Please set correct path"
  exit 1

else
  # set new screenshot path
  defaults write com.apple.screencapture location $new_path
  killall SystemUIServer

  # notify to user
  echo "Screenshot-saved path is changed to $new_path"
  exit 0

fi

実行権限を付与

$ chmod 755 change_screenshot_path.sh

.shを毎回呼び出すのはなんかかっこ悪いのでシンボリックリンクを作成

$ ln -s ./change_screenshot_path.sh chscpath
$ ls -l chscpath
lrwxr-xr-x  1 XXXXXXXX  XXXXXXXX  27  9  8 15:04 chscpath -> ./change_screenshot_path.sh

コマンドのPathが通っていることを確認

$ which chscpath
/usr/local/bin/chscpath


これで準備完了です。

あとは保存したい先のパスを引数として与えてあげればスクリーンショットの保存先を変更できます。

$ chscpath ~/Pictures/
Screenshot-saved path is changed to /Users/XXXXXXXX/Pictures/

存在しないパスを指定したらエラーが返ってくる

$ chscpath ~/Test
/Users/XXXXXXXX/Test is incorrect. Please set correct path


とりあえず当面はこれで困らないかと。

上に乗せた記事によると、デフォルト値に戻すのも簡単にできるそうですが、使いそうになかったので機能に入れておりません。

必要になったらそのうち入れようと思います。