Удаление "copy #" - текст из слоев в фотошопе с использованием applecript - PullRequest
0 голосов
/ 16 февраля 2011

Я могу заменить имя каждого слоя текущего документа, но когда я передаю его «где имя оканчивается на», оно терпит неудачу, и исключение не дает никакой ценной обратной связи.

tell application "Adobe Photoshop CS3"
tell current document
    set name of every layer where name ends with "copy*" to "replace_using_sed"
end tell

конец сказать

Можете ли вы обнаружить ошибку или, возможно, вы знаете альтернативный способ об этом?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

copy* вызывает ошибку.Вы не можете использовать * в качестве символа подстановки в AppleScript.Вместо этого используйте ... where name contains "copy" ....

Вот моя рабочая версия вашего скрипта (протестирована с Photoshop CS5):

tell application "Adobe Photoshop CS3"
    set layerList to name of every layer in current document where name contains "copy"
end tell

repeat with currentName in layerList
    set layerName to text 1 thru ((offset of "copy" in currentName) - 1) of currentName
    tell application "Adobe Photoshop CS3"
        set (the name of first layer in current document where name contains "copy") to layerName
    end tell
end repeat
0 голосов
/ 16 февраля 2011

Не уверен, что это исправит весь сценарий, но он называется "чей" фильтр ... поэтому замените слово "где" на "чей".Я не говорю, чей фильтр работает с фотошопом, но вы можете попробовать.Если это не сработает, вы должны получить все слои, пройти через них с помощью повторяющегося цикла и отфильтровать каждое имя по одному.

...