2016-10-13 9 views
0

大量のファイルを特定のフォルダに移動することを含む、友人向けのプロジェクトを開始しました。私は私のMacでプロジェクトを処理している私はautomatorを使用していましたが、automaterは数字の付いたファイルのセクションを移動する機能を持っていません。たとえば、私は "このファイル100"と言う病気があり、病気にはそのような100のファイルがあります。 "そのファイル50"と言うファイルとそのような200のファイルがあります。プロジェクトはこれらのファイルを自分のフォルダに分割していますが、セクションに分割しています。そのような悪い必要性 "このファイル" 1つのフォルダ内の1-25葯のように26から80まで。 "そのファイル"にも同じことが当てはまりますが、私の友人が求めているだけのパターンはありません。数字順にファイルを移動するためのapplescript

は、同じファイル名で1-25または任意の続編を注文することができるスクリプトを簡単に書く方法はありますか?なぜなら、各ファイルを一度に1つずつオートメーターで動かすのは長い時間がかかっていたからです。

は、私はTUが完全にあなたの命名規則を理解しますが、全体的に、はい、AppleScriptをして、あなたが名に基づいてフォルダにファイルを移動することができ、最終的にシーケンス番号を追加することを確認していない高度な

答えて

0

であなたをとても感謝しています。

私はあなたの要件について確認していないので、少なくとも、ここでの主な操作のための構文のいくつかのサンプルです:

はMyFolderフォルダにXXXを含む名前でファイルのリストを取得します:

Tell Application "Finder" to set myList to every file of myFolder whose name contains "xxx" 

その後Fを移動するには...、あなたが名前を抽出し、それを解析し、カウンタを追加することができるループで を

Repeat with aFile in myList 
    -- do something here with aFile : example with name of aFile 
end repeat 

:あなたはリピート/リピート終了ループを行う必要があります新しいフォルダに移動するには、tell "Finder"ブロックで "move"命令を使用する必要があります。命令 "make"は、ファイルの名前またはルート名に基づいて新しい宛先フォルダを作成するためにも使用できます。 Finderは名前に「コピー」を追加することができますが、Applescriptでそれを自分で行う必要があります。

処理するファイルの数についての最後のアドバイス。その数がそれほど多くない場合(数百未満の場合)、Applescriptはまだ高速です。ファイル数がはるかに多い場合は、シェルコマンドを使用するか、ASコマンドとシェルコマンドを組み合わせて使用​​する必要があります。シェルコマンドは、 "do shell script"を使用してASから呼び出すことができます。例えば、フォルダから1000個のファイルのリストを取得するのは、ASでは時間がかかりますが、 'ls'コマンドではるかに高速です!コピーと同じです。ここでシェル 'CP' を使用してコピーの例である:

do shell script "cp " & quoted form of (POSIX path of (aFile as string)) & " " & quoted form of (POSIX path of DestFolder) & (quoted form of newFileName) 

注:シェル・パス(ユーザ/がmyName /ドキュメントへ(FILE.TXT:がmyName::ドキュメントユーザー) "POSIXパス" ASファイルのパスを変換し、 /File.txt)

私はそれが役に立ちそうです。

関連する問題