連番イメージをpdfに結合する方法を自動化したい
ちょっとした自動化を行いたかったので、メモがてら投稿する。
流れとしては
1. Finder項目の選択でディレクトリを指定
2. ディレクトリ名を覚えておく
3. フォルダの内容でサブディレクトリ以下も検索対象に入れる
4. フィルタでイメージを抽出する
5. ファイル名で並び替え
6. pdfに結合
7. デスクトップ上のファイル名の変更をシェルで実施
rename部分のシェルスクリプト
入力したファイルパスの末尾をdir_nameに入れてpdfのリネームに使う
入力したファイルパスを使って対象にしたディレクトを削除する
input_path=$@
echo ${input_path}
dir_name=`echo ${input_path} | awk -F "/" '{ print $NF }'`
echo ${dir_name}
cd ~/Desktop
echo "/Users/myname/Desktop/${dir_name}.pdf"
mv "/Users/myname/Desktop/tmp.pdf" "/Users/myname/Desktop/${dir_name}.pdf"
rm -rf "/Users/myname/Desktop/tmp/${dir_name}"
mv "/Users/myname/Desktop/${dir_name}.pdf" /Users/myname/Desktop/tmp
課題
ディレクトリ - サブディレクトリ 1 - 連番jpg
+ サブディレクトリ 2 - 連番jpg
という構成でディレクトリを指定したらサブディレクトリ名pdfにする方法がいまいち分からない。
シェルスクリプト使ってこんな感じに使えたらいいんだけどautomatorへ渡す引数を上手いこと反映させられない
#!/bin/bash
files="/User/myname/Desktop/*"
for filepath in $files; do
if [ -d $filepath ] ; then
automator pdf_converter "${filepath}"
fi
done
追記
ディレクトリ内のサブディレクトリごとに変換する方法が上手く行かなかったのでautomatorのフォルダアクションを使って、フォルダに順次mv
コマンドを送る方法で実現することにした