0

3,000 枚以上の写真を撮影したイベントから、約 500 個のファイル名 (それぞれが 1 行ずつ) を選択したテキスト ファイルがあります。フォルダー内のすべての画像を見つけて複製し、複製したファイルを別のフォルダーに移動できるようにしたいと考えています。

これは私がこれまでに持っているものです。現在、3,000 個の画像のフォルダー全体をコピーして、それを宛先フォルダーに配置するだけで、個々のファイルはコピーしません..

テキストファイル:

_EPW0847.jpg
_EPW0848.jpg
_EPW0853.jpg
等....

アップルスクリプト:

thePhotos を次の段落に設定します (読み取り (「テキスト ファイルを選択してください」というプロンプトでファイルを選択))
theSourceFolder を (「Choose source folder」プロンプトでフォルダーを選択) に文字列として設定します。
宛先をに設定します(プロンプト「宛先フォルダーの選択」でフォルダーを選択します)
写真の名前で繰り返します
    試す
        アプリケーション「Finder」にエイリアス (theSourceFolder & theName) を theDestination に置き換えて複製するよう指示します
    試してみる
リピート終了
アプリケーション「Finder」に伝える
    フォルダー theDestination に、theCount1 を (アイテムの数) に文字列として設定するように指示します。
終わりを告げる
theCount2 を (thePhotos の数) に文字列として設定します
ダイアログを表示 (" & theCount2 & " 個の " & theCount2 & " アイテムの " & theDestination にコピーされた " & " の "theCount1 & ") ボタン {"OK"}

どんな助けでも素晴らしいでしょう。Appleスクリプトはまだよくわかりませんが、学んでいます。ありがとう!

4

2 に答える 2

0

あなたは近くにいました!

set thePhotos to paragraphs of (read (choose file with prompt "Choose a text file"))
set theSourceFolder to (choose folder with prompt "Choose source folder")
set theDestination to (choose folder with prompt "Choose destination folder")
set dupeList to {}
repeat with theName in thePhotos
    try
        set end of dupeList to alias ((theSourceFolder as text) & theName)
    end try
end repeat

tell application "Finder" to duplicate dupeList to theDestination with replacing

set theCount1 to (count of dupeList) as text
set theCount2 to (count of thePhotos) as text
display dialog (theCount1 & " of " & theCount2 & " items copied to " & (theDestination as text)) buttons {"OK"}

テキスト ファイルに空白行がある場合は、次の手順を試してください。

set thePhotos to paragraphs of (read (choose file with prompt "Choose a text file"))
set theSourceFolder to (choose folder with prompt "Choose source folder")
set theDestination to (choose folder with prompt "Choose destination folder")
set dupeList to {}

repeat with theName in thePhotos
    try
        if theName ≠ "" then
            set end of dupeList to alias ((theSourceFolder as text) & theName)
        end if
    end try
end repeat
于 2012-10-05T00:53:05.047 に答える
0
fileContents を読み取るように設定します (「カンマ区切りのテキスト ファイルを選択してください」というプロンプトでファイルを選択します)。
テキストを結果に設定します
AppleScript のテキスト項目区切り文字を「,」に設定します
theTextItems を theText のテキスト項目に設定します
AppleScript のテキスト項目区切り文字を {""} に設定します
theTextItems
theSourceFolder を (「Choose source folder」プロンプトでフォルダーを選択) に文字列として設定します。
宛先をに設定します(プロンプト「宛先フォルダーの選択」でフォルダーを選択します)
TextItems の EPSName で繰り返します
   アプリケーション「Finder」に伝える
       EPSFile を SourceFolder と EPSName に設定します
       ファイル theEPSFile をフォルダー theDestination に移動し、置き換えます
   終わりを告げる
リピート終了
于 2012-10-05T20:03:29.773 に答える