(改良版)macOSで撮ったスクリーンショットを日付フォルダへ自動で振り分ける
以前書いたこの記事の改良版です。 sakanaaas.hateblo.jp
その記事のスクリプトは問題なく動いていたのですが、フォルダが増えてくると見づらいよね問題がでてきました。
こんな感じ。
月が変わったら前月のフォルダはひとまとめにしたい!
処理の流れ
- 日ごとのフォルダが追加されたら前月のまとめフォルダがあるか確認、無かったら月が変わったとみなす。
- まとめフォルダ作成。
- 前月のフォルダをまとめフォルダにアーカイブ。
後半が追加した部分。
bashIFS=$'\n' ssdir=/Users/[ユーザー名]/Pictures/ScreenShots today=$(date +"%Y%m%d") this_month=$(date +"%Y%m") last_month=$(date -v -1m +"%Y%m") for input in "$@" do if [ -f $input ]; then if [ ! -d $ssdir/$today ]; then mkdir $ssdir/$today fi mv $input $ssdir/$today fi input_name=${input##*/} # 8桁の数字のフォルダか確認 if [ -d $input ] && [ $input_name=[0-9]{8} ]; then # 前月のアーカイブフォルダがあるか確認 if [ ! -e $ssdir/$last_month ]; then # 無かったら作る mkdir $ssdir/$last_month # $ssdir内の前月のフォルダを1つのフォルダにまとめる mv $ssdir/${last_month}[0-9][0-9] $ssdir/$last_month fi fi done
こんな感じにできたよん。
運用でカバー
まとめ
夏、雨。