• 締切済み

Automatorで指定フォルダに複数ファイル振分

複数のPDFファイル(50枚程度)を 下記の条件で一括操作したいと思っています。 環境 Mac OS X 10.6.8です デフォルトで搭載のAutomator使用 ・日付を追加 ・既存フォルダにそれぞれ振分 例)A.pdf→2014_0613_A.pdf→Aフォルダ   B.pdf→2014_0613_B.pdf→Bフォルダ ※ファイル名はアタリです 日付は追加することができ、振り分けの方は 単純に「項目を検索→項目を移動」を50件位作れば 自動で振り分けられると思ったのですが、 毎回Aがある、という代物ではなく、ない時はエラーになってしまいました。 そこで、エラーが出ない方法、 もしくは効率的に作るアクションや、スクリプトなど 簡単に振り分けられる方法があればお教え願いたいです。 よろしくお願いします。

  • Mac
  • 回答数2
  • ありがとう数2

みんなの回答

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

フォルダアクションですから、ファイル名がA.pdfやB.pdfで終わらないファイルは アクションを設定したフォルダに残り、条件に合致したファイルは指定した既存の フォルダに移動するはずです。 ひとつのフォルダを作って、そのフォルダにフォルダアクションを設定して、pdfは そのフォルダに入れるのですよ。

luvluna
質問者

お礼

ご回答ありがとうございます。 フォルダアクションだと気付かず作業してました。 すみません。 フォルダアクションに設定したところ、 希望通りの仕分けが出来るようになりました。 ただ仕分けしたいフォルダが50件くらいと多いので まだ全て設定してないのですが、地道に設定したいと思います。

luvluna
質問者

補足

こちらの方法で地道に必要な件数を設定して作ってみたのですが、動かなくなってしまいました。 ワークフローが多すぎたのかと思うのですが、テストで作ったアクションで指定したフォルダも、変換されているものの近くにある違うフォルダに入ったりとごちゃごちゃでした。 すこし動作が不安定な気もするのですが、ただ無知なだけでしょうか??

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

全然詳しくないけど、適当なフォルダを作ってフォルダアクションを設定 Finder項目にフィルタを適用  ファイル名がA.pdfで終わる項目 Finder項目を移動  Aフォルダに 以下Bも同じ を複数作って、最初の適当なフォルダにまとめてドラグなりすれば 振り分けられます。 これならスクリプトとかに詳しくなくてもすぐ出来る。

luvluna
質問者

お礼

早々のコメントありがとうございます。 この方法で試してみたのですが、やはり、ないファイルがあると、エラーになってしまいました。 エラーにならない方法と、既存のフォルダに振り分けられる方法があればいいのですが… ご回答ありがとうございました。

関連するQ&A

  • Automatorのフォルダアクションについて

    お世話になります。 以前、こちらで「AutomatorのFinder項目のフィルタ適用」というタイトルで相談させていただいた者です。 お蔭様で希望通りの結果を得ることができました。 動作の希望は、Automatorを使用して、Mac mini Serverからネットワークフォルダを監視して、条件に合致したファイルが追加されたら自動で処理を実行したい、というものでした。 ご指導いただいたように下記の手順で設定をして、ほぼ問題なく動いているのですが、週に2回ほどファイルが追加されている場合でも処理が始まらず、手動で作業をすることがあります。 問題なく動いている場合と、失敗する場合で、何が異なるのか調べてみてもPCやネットワークなどの環境は同じ条件だったので原因がわからず、今回相談させていただきました。 手順 1.Automatorのフォルダアクションで「シェルスクリプトを実行」 --------------------------------------------------- 対象のフォルダ:ネットワークフォルダ シェル : usr/bin/ruby 入力の引渡し方法 : 引数として # encoding: utf-8 if RUBY_VERSION < %[1.9.0] require %[jcode] $KCODE=%[utf-8] else Encoding.default_external=%[utf-8] end ARGV.each do |f| if File.basename(f)[/^\d{6}(12|16).*lzh$/] abort %[エラーが発生しました] unless system %[open -W -a add_data2.app #{f}] # データ登録作業 end end --------------------------------------------------- ⇒ 追加ファイルの特定条件   yymmddの後ろの時間を示す数字が「12」か「16」のいずれかで、   拡張子が「lzh」のファイル ⇒ add_data2.app でlzhファイルを別フォルダにコピーや   解凍などの処理を実行 2.add_data2.app 実行 以上です。 拾いこぼしが起きる原因と対策を教えて下さい。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • Mac
  • 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も知識がないのでとんちんかんな質問でしたら申し訳ありませんが、ご指導よろしくお願い致します。

    • ベストアンサー
    • Mac
  • Automatorで変数を使ったファイル検索

    Automatorを使って、毎日決まった時間にファイルのコピーをしたいのですが、手順がいまいちわからないので教えて下さい。 ファイル名は「当日の日付+15+文字列」で、日付の部分が変動します。 そこで、Automatorの「日付と時刻」変数から、必要な形式yymmddとなるように変数を作成しました。 変数名は「folderName」としました。 1)この変数はいつでも呼び出せるように保存するにはどうしたらよいですか? Automatorのカレンダーアラームで、以下のようにワークフロー(?)を作りました。 ------------------------- ・変数の値を取得   →上記のyymmddとなる日付 ・Finder項目を検索   →検索条件 「名前」 が 「folderName」 を含む    変数名は手で入力しました ・フォルダの内容を取得 ・Finder項目をコピー ------------------------- 一連の動作を確認すると、以下のようなログが残っていました。 ・変数の値を取得  完了 ・Finder項目を検索  完了 ・フォルダの内容を取得  完了 -1warning  アクション”フォルダの内容を取得”に必要なデータがありません。 ・Finder項目をコピー  完了 -1warning  アクション”Finder項目をコピー”に必要なデータがありません。 2)検索するファイル名のところに、手打ちで変数名を入れたことが間違っているように思うのですが、変数名はどのようにして指定したらよいですか? 初歩的な質問かと思いますが、ご指導宜しくお願いします。

    • ベストアンサー
    • Mac
  • Automatorについて

    大量のファイルを選択し既存フォルダに移動させるだけの作業ですが、 フォルダ名:「AI¥001」,「AI¥002」,「AI¥003」.....「AI¥240」 ファイル名:「AI¥001¥01.AI」,「AI¥001¥02.AI」....「AI¥001¥26.AI」       「AI¥240¥01.AI」,「AI¥080¥02.AI」....「AI¥240¥26.AI」 各フォルダに26個のAIファイルを入れたいのですが、その作業を240回繰り返さなくてはなりません。Automatorの使い方をレクチャーしていただけませんか?

    • ベストアンサー
    • Mac
  • Automatorが失敗する原因

    お世話になります。 Mac購入からまだ日が浅く、Automatorの勉強も始めたばかりですが、下記の処理をAutomatorのカレンダーアラームに登録をして、問題なく処理を完了する場合と、途中で失敗する場合があります。 Macそのものの環境は同じだと思いますので、スクリプトの書き方などに問題があるのではないかと思っています。 処理の順番は、以下の通りです。 1.「シェルスクリプトを実行」 ファイル名が日付で毎日変動するファイルを検索 2.「Finder項目をコピー」 特定のフォルダにコピーをして 3.「変数の値を設定」 ファイルのパスを扱うために設定 4.「AppleScriptを実行」       a. ファイルのパスからファイル名を抽出      b. FileMakerの特定のフィールドにその値をセット      c. ファイルの解凍 今はエラーを再現できないのですが、本日2回ほど失敗した時は1~3までの工程は問題なかったようで、ファイルのコピーまではできていました。 エラーの内容はうろ覚えですが、「スクリプトを確認して下さい」のような文言だったと思います。 4.の「AppleScriptを実行」のa.に関してはダイアログなどを出していないのでできているのか不明ですが、b.の部分はできていなかったので、恐らく、b.のところで止まってしまったように思います。 事前にFileMakerのウインドウが前面に来るようにはしてあるのですが・・・。 漠然とした相談で申し訳ありませんが、何かご存知でしたら教えて下さい。 宜しくお願い致します。

    • ベストアンサー
    • Mac
  • ファイルをフォルダに自動振り分け バッチファイル

    Cドライブ直下の"A"フォルダにある1,000件のCSVファイルをCドライブ直下に作成した5つのフォルダ"1~5"に自動振り分けしたいと思っています。 振り分け条件はExcelで管理しており、CSVのファイル名(1,000件分)と振り分け先のフォルダ名(1,000件それぞれ1~5のフォルダ)を入力してあります。 バッチファイルでMOVEを利用して自動振り分けできないか…と考えていますが、上手く行きません。 どなたか教えていただけないでしょうか。宜しくお願いします。

  • Automatorで指定時刻にファイルを印刷したい

    Macにデフォルトで付いている「Automator」を使用して 以下のような操作をさせたいのですが、どうすればいいのでしょうか? 1.毎朝9時に、デスクトップ上にあるExcelファイルを開く 2.Excelブックを印刷 3.Excelファイルを閉じる Excelファイルを開く、プリントする、閉じる、という項目は それっぽいものがあったのでわかるのですが、 時間指定の方法と、特定のファイルを開く、という部分がわかりませんでした。 初歩的な質問で申し訳ないのですが、 どなたか教えていただけるとありがたいです。 よろしくお願いします。

    • 締切済み
    • Mac
  • フォルダ内の古いファイルを自動で削除する方法

    Macの特定のフォルダ内に保存されているファイルで、追加日から3日以上経過しているものを自動で削除したいのですが、良い方法を教えてください。 保存フォルダ内にはサブフォルダがいくつかあり、Automatorで試したところ、フォルダ内のファイルは削除できましたが、フォルダ自体は削除されずに残ってしまいました。 Automatorでフォルダごと削除する方法があれば教えてください。 他の方法でも構いませんので、ご指導宜しくお願いします。

    • 締切済み
    • Mac
  • AutomatorのFinder項目のフィルタ適用

    お世話になります。 以前、こちらで「Automatorで変数を使ったファイル検索」というタイトルで相談させていただいて、お陰様で希望通りの結果を得ることができました。 http://okwave.jp/qa/q8563519.html 前回相談させていただいた時は、Automatorを使って特定の時間に、流動的なファイル名のフォルダを別のフォルダにコピーをしたい、という内容が目的でした。 今回はこれまでと状況が変わり、特定の時間では対応できなくなってしまったので、Automatorで特定のフォルダを監視しつつ、特定の条件を満たすファイル(流動的なファル名)が作成された時点でコピーの処理を実行したいのですが、「Finder項目にフィルタを適用」の部分でつまづいています。 検索したいファイル名は、12時台に作成される 「yymmdd12○○○.csv」と、 16時台に作成される「yymmdd16○○○.csv」というファイル名です。 監視するフォルダにはこのcsvファイル以外にも毎日複数のファイルが作成されています。 Automatorでは以下のように試してみました。 1. 指定されたFinder項目を取得 2. フォルダの内容を取得 3. 変数の値を設定     変数名:今日の日付     カスタムフォーマット:yymmdd 4. Finder項目にフィルタを適用 4. のフィルタの部分で、ファイル名に「12時台」を示す文字列を付与した「yymmdd15」というキーワードで検索をしたいのですが、フィルタの設定ではどのようにしたらよいのかわかりません。 そもそもフィルタの適用の設定で、変数を使うことはできないのですか? 12時台と16時台の2つの条件を設定するのは難易度が高そうなので、16時台の方は今までのやり方でAutomatorで指定の時間に処理を実行する方法でも構いません。 Finder項目にフィルタを適用する際に、変数を使用する方法を教えて下さい。 もしそれが不可能でしたら、他にどのような方法がありますか? ご指導よろしくお願いします。

    • ベストアンサー
    • Mac
  • エクセルで指定フォルダ内の増加ファイルの一覧を作る

    いつも大変お世話になっております。 この質問はエクセルで可能かどうかも当方には不明な課題です。 また可能だとしても当方で実行できないような高度な知識が必要ならあっさり諦めるつもりの投稿です。 サーバ上の特定のフォルダ内に不定期で新規のフォルダが作成され、その中にPDFファイルが保存されていきます。 その新規に保存されたPDFファイルのフルパスとファイル名をエクセルシートの最下行に追加していくことはできるのでしょうか? フルパスにはファイル名も入るのでパスだけでもOKです。 具合的な作業としては、エクセルシートのB列に複数の顧客フォルダのフルパスを下方向に記入していきます。 そのフォルダに新規のフォルダ(名称不明)が出来たら別のシートのB列に新規にできたファルダのフルバスとC列にPDFファイルのファイル名を最下行に追加していく。 作業内容はサーバー上のフォルダに顧客別のフォルダがあり、その中に製品名別のフォルダがあります。 新製品が出来たらその顧客別フォルダ内に新製品の品名フォルダーを作成して当該製品に関する品質データをPDFファイルで保存し行くことになっています。 この新製品のPDFファイルをエクセルにリストアップして、リンクを貼る作業を半年に一度やっています。 新規に増えた分を探すのが手間で抜けがあるハズと思っています。 どの顧客フォルダに新製品のフォルダが新規作成され、その中のPDFファイルの名前をVBAで一覧表にすることが出来ればかなり作業が効率化されるのですが。 更には新規顧客からの仕事の場合は顧客別フォルダが増設されることになるのですが、これは数が少ないので先ずは既存の顧客フォルダ内に増加した品名フォルダのパスとその中のPDFファイル名までが抽出出来れば非常に助かります。 当方の理解を超えた要求なので必要な条件が抜けているかもしれませんがご容赦。