2016-06-30 3 views
0

Итак, у меня есть сценарий для копирования альфа-каналов из одного файла в другой. Проблема связана с именами тех, у кого есть альфа-каналы с _маском в имени, который иногда отбрасывает сортировку.AppleScript/OSX - Проблемы с сортировкой

Пример, у меня есть несколько файлов -

124_CHARCOAL.CR2 
124_hangers.CR2 
124_INDIGO.CR2 
124_RED.CR2 
124_TAUPE.CR2 
124.CR2 

124_CHARCOAL_mask.pdf 
124_hangers_mask.pdf 
124_INDIGO_mask.pdf 
124_mask.pdf 
124_RED_mask.pdf 
124_TAUPE_mask.pdf 

Просто с помощью Телль приложения "Finder" для сортировки MyList по имени места вещи (редко) из строя. Есть ли способ исправить это, или мне лучше просто добавить некоторый код, чтобы удалить часть _mask из имени файла перед сортировкой, а затем снова добавить его обратно?

+0

Является ли точка такого типа, чтобы вы могли сопоставить файлы, чтобы получить правильную маску для правильного изображения? – ThrowBackDewd

+0

Да. Я подумал, что это проще, чем «Нахождение» имени. – Pixel

+0

Если это так, я последую за ответом @ Феннеси. Работайте со своими изображениями, проведите через них и отделите .CR2 от имени. Используйте новое имя, чтобы захватить файл «_маск». При таком подходе вам не придется играть в сортировочную игру. – ThrowBackDewd

ответ

2

Ответ на этот вопрос, вероятно, будет заключаться в установке разделителей текстовых элементов appleccripts на «.CR2», а затем создание главного списка текстового элемента 1 каждого элемента в списке CR2, а затем вручную добавить «_mask.pdf» в конец этих и вручную создавая новый список таким образом.

set myList to {"124_CHARCOAL.CR2", "124_hangers.CR2", "124_INDIGO.CR2", "124_RED.CR2", "124_TAUPE.CR2", "124.CR2"} -- this is your original sorted list of CR2 files. 

set maskList to {} -- prepare an empty list to receive the correctly ordered mask list. 

set AppleScript's text item delimiters to ".CR2" 
repeat with thisItem in myList 
    set baseName to text item 1 of thisItem 
    set maskName to baseName & "_mask.pdf" 
    copy maskName to end of maskList 
end repeat 
set AppleScript's text item delimiters to "" -- remember to reset this to nothing 
get maskList -- this returns the properly-ordered mask list. 

Конечно, это будет работать, только если соглашения об именовании не отклоняться от того, что вы показали нам здесь.

0

Как выглядит этот список, когда он отсортирован неправильно, и как он должен выглядеть?

+0

Приведенный выше пример - неправильный порядок сортировки. Для 99% вещей, однако, они сортируются в порядке имен 1: 1. – Pixel

+1

Я думаю, что ваше соглашение об именах должно быть изменено, так что файлы без имени не просто называются «124.CR2». Он должен иметь дополнительную часть имени, такого как «main», поэтому его можно было бы назвать «124_main.CR2». Это автоматически решит вашу проблему. – PHennessey

+0

К сожалению, имена предоставлены клиентом и не могут быть изменены или будут конфликтовать с их спредами InDesign. =/Это полезно знать, хотя для личного использования. – Pixel

Смежные вопросы