[AI CS4-CS6] Встроить изображение в документ

Все страньше и страньше
из разных папок быстро
Из каких папок? %8
Вы последний вариант скрипта пробовали? Его не надо ни в какой экшн встраивать. Но он разумеется только текущую папку перебирает
 
AI лежат в разных папках и в этих папках еще и jpg и psd вдобавок
 

Не по теме:
Это форум.
можете показать что у Вас есть
Фото прислать? ;)
как Вы лично это видите?
Лично, тольно втянув живот. Хотите об этом поговорить? ;)

.
 
А как по вашему скрипт определит какие папки перебирать? %8
Элементарно. Кладёшь стартовый файл в самый верх, а в скрипте пишешь рекурсивный обход.

Не по теме:
но я, на твоём месте, этому персонажу не стал бы помогать безвозмездно
 
Элементарно. Кладёшь стартовый файл в самый верх, а в скрипте пишешь рекурсивный обход.
Пока что я не увидел что папки все вложенные
Если да то это хоть как то упростило понимание, потому как я чувствую вообще перестаю понимать приходящих сюда людей *(
 
Претензий к скрипту у меня нет '))' Я же не знаю можно ли им это реализовать. Но есть такое понятие вложенность папок в том же батче например. Мой экшен все вложенные папки сканирует нормально, но открывает в добавок не нужные файлы psd, jpeg

~RA~, я приколов не понял, если хотите помочь можете что-нибудь прислать если не хотите, то ок. У Вас вопрос такой чем меня что-то не устраивает я уже то что сделал показал и чем не устраивает тоже. Вы можете что-то предложить или объяснить что я не так сделал, вот это нормальная помощь
 
Но есть такое понятие вложенность папок
А то есть папки все таки вложенные?
хотите помочь можете
Ну он и помогает - видите, пытается мне перевести ваши хотелки на человеческий язык и вроде правильно вангует
 
У меня несколько магазинов, есть корневая папка и в ней отдельно папка для каждого магазина и там уже AI, jpeg, psd. Как правило вложенность на этом заканчивается, если это имеет значение. Иногда я могу внутри папки с магазином еще какую-то папку создать и туда AI закинуть, но обычно нет.

Ну и какие-то еще левые папки тоже есть (без AI внутри)
 
Последнее редактирование:
Попробуйте так
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = WorkPath.getFiles('*.ai');

    for (int a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.saveAs(NameFiles, SaveOptionPdf);
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 
На самом деле все таки так
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
     
            getAllFolders(entry);
        }

      }
      files = curfolder.getFiles('*.ai');

    for (var a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.saveAs(NameFiles, SaveOptionPdf);
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 
вот и дожили до рекурсии!
 
Рекурсия как всегда божественна
Меня другое немного напрягает - мои скрипты хоть кто то запускает или я их тут сам себе пишу? Только что пару ужасных ошибок нашел и поправил - никто слова не сказал 'hmmm'
 
На самом деле все таки так
JavaScript:
function getAllFolders(curfolder)

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);

Попробовал и сразу вот такое сообщение начал получать
Ошибка.png

Потом стали окна о пересохранении всплывать и как-то зависать еще надолго, возможно я настроил бачт не правильно. Но в конце концов картинки встроились после многократного нажатия ОК. Как мне показалось Иллюстратор файлы jpeg тоже открывал
 
Вот так
JavaScript:
 function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = WorkPath.getFiles('*.ai');

    for (int a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.save();
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);
 
Ошибка.jpg
Продолжает открывать jpeg и получается сохраняет их прямо поверх AI и получается вместо слоев там просто картинка. Специально созданную вложенную папку не тронул. И новая ошибка
 
Тьфу я в одном месте меняю с другого копирую ;)
JavaScript:
function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
      
            getAllFolders(entry);
        }

      }
      files = curfolder.getFiles('*.ai');

    for (var a=0; a<files.length; a++) {
    sourceFile = app.open(files[a]);
    doc = app.activeDocument;
    for (var  i = doc.placedItems.length-1; i >=0 ; i-- ) {
      doc.placedItems[i].embed();

    }

    doc.save();
    doc.close(SaveOptions.DONOTSAVECHANGES);
}
}

var doc = app.activeDocument;
var WorkPath = doc.path;
getAllFolders(WorkPath);