Help us understand the problem. What is going on with this article?

お寺用

More than 3 years have passed since last update.

お寺用

2016/02/28 コピーするように修正
元フォルダの内容をリスト化、
リスト項目が指定したディレクトリ以下で見つかればコピー
リスト項目内容が新規であれば別フォルダにコピー

on open myDrop
    display dialog "ドロップしたフォルダ内の項目を元に振り分けます"
    set myEPSCount to 0
    set myJPEGCount to 0
    set myDrop to POSIX path of myDrop
    set myList to paragraphs of (do shell script "find " & myDrop & " -iname \"*.*\"")
    set myFindDir to POSIX path of (choose folder with prompt "epsのある上位フォルダ")
    set myOutDirEPS to POSIX path of (choose folder with prompt "既にある処理済みEPSをコピーするフォルダ")
    set myOutDirJPEG to POSIX path of (choose folder with prompt "処理依頼JPEGをコピーするフォルダ")

    repeat with i in myList
        set iJPEG to do shell script "echo " & i & " | sed \"s|.*/\\(.*\\)\\..*|\\1|\""
        set iEPS to do shell script "echo " & iJPEG & " | sed \"s|\\(.*\\)|\\1\\.eps|\""
        do shell script "find " & myFindDir & " -iname \"" & iEPS & "\""
        if result is "" then
            do shell script "cp " & quoted form of i & " " & quoted form of myOutDirJPEG
            set myJPEGCount to myJPEGCount + 1
        else
            do shell script "cp " & quoted form of result & " " & quoted form of myOutDirEPS
            set myEPSCount to myEPSCount + 1
        end if
    end repeat
    display alert "JPEGファイルを" & myJPEGCount & "個、EPSファイルを" & myEPSCount & "個コピーしました"
end open

↓要求仕様読み違えてた

on open myDrop

--- デスクトップに作るファイル名を指定
    set myEPStext to "~/Desktop/filename_EPS.txt"

    tell application "Finder"
        activate

-- 処理ファイル数リセット
        set myCount to 0

-- ドロップしたフォルダ内のファイルを取得
        set myFile to every item of folder (myDrop as string)

-- findコマンドで検索するフォルダを指定。このフォルダから下を全て検索する
        set myPath to POSIX path of (choose folder with prompt "切り抜きしたEPSのあるフォルダの最上位フォルダを選択")

-- 検索実行&拡張子を除くファイル名だけをデスクトップに書き出し
        do shell script "find " & myPath & " -iname \"*.eps\" | sed \"s|.*/\\(.*\\)\\..*|\\1|\" > " & myEPStext

-- ドロップしたフォルダ内の項目の数だけリピート処理
        repeat with i in myFile

-- ドロップしたファイル名から拡張子を削除
            set myName to do shell script "echo " & (i's name) & " | sed \"s|\\(.*\\)\\..*|\\1|\""

-- on errorを使うためのtry
            try

-- ドロップしたファイル名と同じファイル名が、デスクトップに書き出したファイルリストに存在するか?
                set i to do shell script "grep -ixFc " & quoted form of myName & " " & myEPStext

-- ない(エラーが帰る)
            on error

-- ラベル付けとカウンタアップ
                set label index of i to 2
                set myCount to myCount + 1
            end try


        end repeat
        display dialog "切り抜きしていないファイル " & myCount & "個にラベルをつけました"
    end tell
end open

スクリプトエディタにコピペ、保存時にファイルフォーマットをアプリケーションにして保存

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした