こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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の使い方をレクチャーしていただけませんか?

投稿日時 - 2011-08-02 12:59:58

QNo.6915969

すぐに回答ほしいです

質問者が選んだベストアンサー

harawoさんの回答をヒントに「AppleScript ○○で始まるファイル」でググッてみました。
http://www.fsight.co.jp/asqs/nmac/9512/2.html

tell application "Finder"
set theFile to (every file of entire contents of desktop whose name begins with "ai001")
repeat with aFile in theFile
set label index of aFile to 4
move aFile to folder "ai001" of desktop
end repeat
end tell

私の環境(10.5)では一応これで動作するようです。ちょっとだけ解説すると、この中の「theFile」と「aFile」は「変数」と呼ばれ(自信なし)、どんな文字列でもいいのです(例えば「theFile」の替わりに「honyarara」でもいい。もちろん「tell」や「application」なんて文字列じゃダメだけど)。

しかし問題は、「残念ながらAppleScript自身は正規表現を扱えません」だそうだし、これだと結局この7行を240回ペーストして数字を書き換えなくちゃならず、それじゃ労力軽減効果がほとんどないということです。

こういう場合ふだんの私なら

001
002
003



240

という文字列を無理矢理にでもまず作って、あとは mi の
<<<REPLACE-REGEXP-ALL>>>
というツールコマンド(?)を使いますが、もっと利口な方法がいくらでもあるはずで、
しかし思いつかないので教えて差し上げられないのが残念です。

投稿日時 - 2011-08-02 22:13:58

お礼

お礼遅くなりました!ありがとうございました!

投稿日時 - 2014-05-13 10:39:46

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

>AppleScriptのほうに話をのばしますが……

ぜひともよろしくお願いします。

エクセルでソートとか、Finderで名前でソート / 変更日でソートとかは結果が目で見えるので理解できるんですが、AppleScriptで「ソートが成功」するというのがどういうことなのか、残念ですが僕のレベルではまずそれがわかりません。

先頭から26個ずつ指定のフォルダに移動していくだけ、ということですが、指定すべきフォルダが240個ある場合は240通りの指定をするのでしょうか。
http://d.hatena.ne.jp/akane_neko/20081106/1227173072

・・・と、いうような個別の疑問に答えていただくことも勝手に期待してますが、一般的に、こういう疑問を持った場合にどうやって調べればいいのかとか、そもそも AppleScript に詳しい人ってどうやって詳しくなったの? ゼンマイびゅんびゅんだけじゃ無理だよね、というようなこともじつは知りたいのですが。

(ただしかし、最近友人に「お前はどうやってHTMLを学んだの?」と聞かれて、「我流で一生懸命学んだとしか答えようがない」と返事をしたのは私です)

投稿日時 - 2011-08-03 23:08:56

ANo.4

AppleScriptのほうに話をのばしますが……

ファイルがきっちり240×26個あり、かつ厳密に規則に従ったファイル名が付けられているとしたら、AppleScriptのプログラムはむずかしくありません。
Finderのコマンドに「sort ~ by name」というものがあり、ファイル名をキーワードにしたソートが行えます。ソートが成功すれば、あとは先頭から26個ずつ指定のフォルダに移動していくだけのプログラムで完了します。

投稿日時 - 2011-08-03 14:56:15

ANo.2

私なら、ターミナルからmv使って、かな。

投稿日時 - 2011-08-02 20:41:43

ANo.1

Autometorだけでは、ワークフローを240個作らなければならないでしょう。AppleScriptとAutometorの組み合わせになるか、AppleScriptのみでの対処になろうかと思います。AppleScriptだけでスクリプトを組んだほうが簡潔でしょう。

※本題から離れますが、円マーク「¥」は、Windows OSにおいて、ファイルパスの区切り文字として使われるので、ファイル名に使用するのは好ましくありません。100%あなたのMacintoshで、その「AIファイル」の取り扱いが完結するならともかく、そうでないなら、とても危険です。
Windows OS、MS-DOSでのファイルパスの区切り文字は「¥」(日本語環境以外ではバックスラッシュ)。
Mac OS X、UNIX OSでは「/」(スラッシュ)。
旧Mac OSでは「:」(セミコロン)。
これらの記号を、ファイル名に使用しないでください。
(これも一括してAppleScriptでファイル名、フォルダ名を変更したほうがいいでしょう)

※「では、そのAppleScriptを書いてください」という質問にはお答えいたしません。それは質問ではなく、仕事の依頼ですから、現金の報酬が必要になります。これを機にAppleScriptの勉強をしたいと言うことなら、お手伝いするに、やぶさかではありません。

投稿日時 - 2011-08-02 17:03:53

あなたにオススメの質問