2009-06-26 3 views
1

В каждой папке камеры есть много тысяч фотографий, мне нужно открыть 20 или около того конкретных файлов, которые могут быть расположены в любом или более папки, все в одном 'корень' папку:из CSV имен файлов, найти и открыть несколько файлов в папке (или вложенных папках)

фотографии

| - CameraA

| - CameraB

| - CameraC

Я хотел бы вставить CSV имен файлов (например, 6504, 6505, 8902, 4501) в Applescript (или, желательно, если Applescript может запросить меня для ввода?), Запустите его, и файлы откроются в Photoshop , Нужно искать один файл за раз в центре внимания!

Я нашел скрипты для поиска одного файла, скрипта для открытия файлов в Photoshop, но я безнадежен в массивах и циклах, предполагая, что applescript может это сделать.

ответ

1

Вам действительно нужно, чтобы это был AppleScript? Это проще, с помощью сценариев оболочки, если вы спросите меня:

for f in 6504 6505 8902 4501; do find . -name "$f" -exec open -a "Photoshop" {} \;; done 

Где номера заменяются с желаемыми именами файлов и «Photoshop» заменяется фактическим именем вашего приложения Photoshop на диске («Photoshop CS» или что-то).

+0

это Бесполезный Работа не работает, так как Photoshop не запускался, поэтому я использовал полный путь. А также имена файлов были *, но я забыл упомянуть об этом, моя вина): для f in * 0299 ​​* * 0327 * * d_0340 *; найти. -name "$ f" -exec open -a "/ Приложения/Adobe Photoshop CS4/Adobe Photoshop CS4.app" {} \ ;; сделано Спасибо Чак - оцените вашу любезную помощь! – 2009-06-26 20:03:23

1

ОК, у меня была воблерница и появился полуфабрикат Half-AppleScript, который расширяется выше. Я приветствую любые комментарии :)

это работает, запрашивая частичные имена файлов (разделенные пробелом), находя самое верхнее окно Finder, чтобы получить текущее местоположение папки (корневая папка для поиска), использует оболочку для добавления звезд в поисковые запросы (неполные имена файлов, а не полные), выполните команду find из корневой папки, которую мы уже открыли в Finder. Найденные файлы открываются в Photoshop.

tell application "Finder" 
try 
    activate 
    beep 1 
    display dialog "Enter your image search:" default answer "" 
    set dialogInfo to result 
    set imgquery to text returned of dialogInfo 

    set frontWin to folder of front window as string 
    set frontWinPath to (get POSIX path of frontWin) 
    tell application "Terminal" 
     activate 
     set starredImgQuery to do shell script "echo " & quoted form of imgquery & " | sed 's/ /\\* */g'" 
     set starredImgQuery to "*" & starredImgQuery & "*" 
     do shell script "cd \"" & frontWinPath & "\";for f in " & starredImgQuery & "; do find . -name \"$f\" -exec open -a \"/Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app\" {} \\;; done" 
    end tell 
    tell application "Terminal" to quit 
on error error_message 
    beep 
    display dialog error_message buttons ¬ 
     {"OK"} default button 1 
end try 
end tell 

команды оболочки отличные !!

1

Хммм, код для меня не работает сейчас!

Отслеживается и обыскивается вокруг «прожектора булево поиска» - и найден EasyFind! Freeware технологиями Devon: http://www.devon-technologies.com/products/freeware/index.html

быстрее работать и легче адаптироваться, и это работает для логических запросов, как описано выше, найти корневую папку, и логический поиск: 6504 или 6505 или 8902 или 4501