Automatorでファイルの移動とコピー
Automatorのフォルダアクションを使ってファイルを2ヶ所のフォルダにコピーしたいのですが、うまくいきません。
フォルダAに保存されたPDFをフォルダBの日付フォルダ(フォルダ名:yy-mm-dd)に移動して、次にフォルダCにコピーをすることが目的です。
ネットの情報を参考にしながら下記のようなワークフローを作成しました。
AutomatorのフォルダアクションでフォルダAを指定
1. 指定されたFinder項目を取得(Automatorでのテスト用に設定)
2. フォルダの内容を取得
3. 変数の値を取得
変数名:folderA
4. AppleScriptを実行
on run {input, parameters}
set folderA to item 1 of input
-- POSIX変換
set folderA_POSIX to POSIX path of folderA
-- 移動先
set folderB to "フォルダBのパス"
-- フォルダBの中の日付名のサブフォルダ
set theTime to do shell script "date +'%y-%m-%d'"
-- フォルダB / yymmdd のパス
set yymmdd to do shell script "find " & folderB & " -name " & theTime & "* -print"
set moveCommand to "mv " & quoted form of folderA_POSIX & " " & quoted form of yymmdd
do shell script moveCommand
return input
end run
Finder項目をコピー
フォルダCを指定
一応、上記の流れで動いているのですが、このワークフローと同じ内容で別のフォルダ用にコピーをしたところ、「AppleScriptを実行」の結果に移動先のフォルダBのyy-mm-ddフォルダに保存されたファイルのパスが表示されず、最初のフォルダAのパスが入っていて、テストの結果のログの部分には、「アクション”Finder項目をコピー”に必要なデータがありません」とありました。
ワークフローをコピーする前のちゃんと結果を得られている方のフォルダでは、移動先のパスが結果に表示されていたので、最後の return input の値が更新されていないのかな?と想像しているのですが、どうしたら良いですか?
「Finder項目をコピー」にデータを引き渡すことができない原因はなんでしょうか?
同じスクリプトで問題なく動いているフォルダもあるのですが、違いは何でしょうか?
アクセス権はいずれも同じ設定(読み書きOK)になっています。
そもそも上記のようなスクリプトで問題ないでしょうか?
Macもまだ慣れず、AutomatorもAppleScriptも知識がないのでとんちんかんな質問でしたら申し訳ありませんが、ご指導よろしくお願い致します。
お礼
な~るほど,,,, Filemakerでマクロ組めばOKですね。 ついでにチョットAutomatorに慣れようかと思いましたが、次の機会に廻し、とりあえず目の前の問題を解決します。