Экспорт слоев CS5 в виде файлов без последовательности номеров

Я использую слои cs5 для изменения, а затем экспортирую слои в виде файлов. При сохранении CS5 автоматически добавляет некоторую числовую последовательность в конце, тем самым изменяя мое исходное имя файла.

Он автоматически встраивает префикс числовой последовательности в экспортируемые слои, что делает мое собственное соглашение об именах файлов бесполезным. можно ли это исправить? Есть ли где-нибудь опция под названием «не перенумеровывать мои файлы автоматически» или «использовать имена слоев в качестве имен файлов»?

Я НЕ хочу эту нумерацию. Как это предотвратить?

нет нет неправильного размещения. Я сделал «Файл»> «Сценарии»> «Загрузить файлы в стек». Сделал мои изменения, и теперь мне нужно экспортировать все слои в отдельные файлы (Файл>Сценарии>Экспортировать слои в файлы). Это когда CS5 выполняет автоматическую нумерацию. Надеюсь, ты понял это сейчас.
Хотя я не люблю нумерацию так же, как и вы, они имеют смысл обращаться к слоям с одинаковыми именами. Так что для меня переименование их с помощью небольшого приложения теперь является частью рабочего процесса.
Есть гораздо более элегантный способ обработки повторяющихся имен слоев. Вместо этого метода дробовика они могли бы определять, когда слой имеет то же имя, что и другой, и добавлять номер. Таким образом, результатом будет что-то вроде filename.jpg, filename1.jpg.

Ответы (6)

Чтобы добавить словами, «Поскольку» Export Layers to Filesзапускается каким-то скриптом, все, что мне нужно было сделать, это найти этот скрипт, затем найти функцию, которая сохраняет слои в файлы, найти, какая часть функции выполняет префикс нумерации, и закомментировать его.

Итак, вот шаги -

  1. на Mac работает Lion, перейдите Applications > Adobe Photoshop CS5 > Presets > Scripts > Export Layers To Files.jsx(в Windows это почти тот же каталог, только в «program files/Adobe»
  2. Теперь в этом файле перейдите к строке 1030 и закомментируйте ее.
  3. Также в строке 1031 измените fileNameBody += "_" + layerName;на fileNameBody += layerName;удаление символа подчеркивания и круглых скобок.
  4. Закомментируйте строку 1049 (fileNameBody += "_" + zeroSuppress(i, 4) + "s";)

Сохраните и закройте файл. Это должно сделать работу. Ниже приведены ссылки на исходники форума.

http://forums.adobe.com/message/3006825

http://forums.devshed.com/photoshop-help-88/removing-number-sequence-in-export-layers-to-files-in-cs5t-730612.html

Звучит более элегантно. И как бы очевидно это ни было, я хотел бы отметить, что на самом деле это изменение встроенного скрипта, который вы должны оставить в старом коде (обе строки без изменений — просто скопируйте и вставьте ту, которую вам нужно изменить) . Таким образом, если вам когда-нибудь понадобится вернуть исходную функциональность, вы просто замените две строки, которые вы закомментировали.
да, круто. Я всегда делаю это как шаг по умолчанию. Это такой базовый шаг, что я даже не упомянул о нем. В любом случае спасибо за упоминание для полноты картины...

Я вижу твою проблему. Я не знаю, как это настроить в Photoshop, но у вас есть пара альтернатив.

Во-первых, вы можете пакетно переименовать все свои файлы с помощью Adobe Bridge. (Инструменты >> Пакетное переименование)введите описание изображения здесь

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

Во-вторых, я написал скрипт как ответ на другой вопрос . (Который я только что обновил, чтобы удовлетворить вашу потребность сохранять слои, используя их имена слоев). Сценарий, хотя и не очень настраиваемый, сохраняет все слои либо в формате JPEG (с контролем качества), либо в формате PNG и сохраняет все слои в виде файлов, используя их имена слоев. Пожалуйста, дайте мне знать, если у вас возникнут какие-либо проблемы, я смог протестировать скрипт только на своей машине, и он отлично работает.

Йоханнес, ваш сценарий хорош, но на моем компьютере, когда я запускаю его, отображается завершение процесса, но он не дает никаких результатов.

Для Photoshop CC это строка 1020. Кроме того, вы можете скопировать, закомментировать и отредактировать строку под ней, чтобы удалить подчеркивание из названия.

    // fileNameBody += "_" + zeroSuppress(i, 4);
    // fileNameBody += "_" + layerName;
    fileNameBody += "" + layerName;

Для CC 2015.5 необходимо закомментировать строки 1083 и 1084.

    // fileNameBody += "_" + zeroSuppress(i, 4);
    // fileNameBody += "_" + layerName;

и заменить строки 1085 - 1088

  fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_");  // '/\:*?"<>|' -> '_'
    if (fileNameBody.length > 120) {
        fileNameBody = fileNameBody.substring(0,120);
    }

со следующим

fileNameBody += "" + layerName;

В диалоговом окне Layer Comps to Files рядом с File Name Prefix снимите флажок Index . Это предотвращает добавление номеров индексов.

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

строка: 2179 var fileNameBody = fileNamePrefix; //fileNameBody += " " + zeroSuppress(i, 4); //fileNameBody += " " + layerName; fileNameBody += имя_слоя;

Это позволяет избавиться от префикса для большинства имен слоев. Проблема, с которой многие из нас сталкивались позже, заключалась в том, что когда слои были в группах, у них все еще был префикс при сохранении. Чтобы исправить это, вам нужно изменить еще одну строку кода:

строка: 2219 //fileNameBody += "_" + zeroSuppress(i, 4) + "s";

По сути, вам нужно закомментировать этот код, который должен находиться под «var fileNameBody = fileNamePrefix;» строка кода. Это должно удалить префикс, даже если ваши слои сгруппированы.

Единственный код, который вам нужно изменить, это тот, который я закодировал как красный.

Отказ от ответственности: номер строки в коде может различаться в зависимости от того, какая у вас версия фотошопа. Вы можете обойти это, просто используя функцию поиска приложений для поиска кода. Убедитесь, что вы удалили "//", иначе он не найдет то, что вы ищете в коде.

Надеюсь, я помогу кому-нибудь с этим.