[AI CC-CC2022] перелинкование растра с поиском

я вам код запостил, который все выдает из xmp на блюдечке с голубой каемочкой 'fp'
я не смог заставить его работать. Можете выложить пример с alert ? чтобы alert выдавал список линков.
 
alert(fileData); в конце? '))'
 
  • Спасибо
Реакции: Skvoznyak
ладно, со split разберусь сам, там вроде просто - для имени нужен последний индекс массива строки.
 
Всем привет, как получить все файлы во всех подпапках в указанном месте?
В примерах из сети разобраться не удалось.

Остановился на таком варианте, который пишет файлы в выделенный текст(пока для проверки):

PHP:
var dir = Folder("d:/Works/TEMP/TEST");
var aDoc = app.activeDocument;
var text = "";
  var counter = 0;
  var numbers = 1;
  function getAllFolders(curfolder)
  {
    var files = curfolder.getFiles();
    for (var l = 0; l < files.length; l++){
        if (files[l] instanceof Folder){
            var entry = files[l];
            counter++;
            getAllFolders(entry);
        }

        else if (files[l] instanceof File ) {
            text += (numbers++) + ": " + files[i] + "\n";
            }

      }
  }

  var curFolder = dir;

  getAllFolders(curFolder);
  text += "\n" + "folders: " + counter + "\n";
  //alert(counter + " - " + curFolder + " - " + text);
 
  for (i = 0 ; i < aDoc.textFrames.length; i++) //  пишем в выделенный текст
{
if (aDoc.textFrames[i].selected == true)
{
aDoc.textFrames[i].contents = text;
    }
}

Я понимаю, что надо использовать цикл "getFiles" пока они не закончатся, причём цикл файлов в цикле папок. Но вот КАК?..
 
Последнее редактирование:
Не пойму сути проблемы. Вроде все верно, рекурсивный перебор файлов по папкам.
Или вы хотите чтоб вам код отладили?
Код не рабочий, мне нужно наладить поиск в подпапках по заданному имени. Как?
 
Следующий наводящий вопрос - что именно код неправильно делает?
Вечером пятницы некогда иллюстратор искать и отлаживать

вот этот код неверен:

PHP:
       else if (files[l] instanceof File ) {
            text += (numbers++) + ": " + files[i] + "\n";
            }

код НЕ запрашивает файлы из каждой подпапки.
 
Как минимум files [ i ] проиндексировано несуществующей переменной
Хоть и похожей внешне
 
В общем проверил если поменять на files [ l ] работает правильно
 
В общем проверил если поменять на files [ l ] работает правильно

Спасибо огромное, очень помогли. Действительно, всё дело было в одной ошибочной переменной.

Рабочий код с рекурсивным поиском файла:

PHP:
var dir = Folder("d:/Works/TEMP/TEST");
var aDoc = app.activeDocument;
var text = "";
  var counter = 0; 
  var numbers = 1;
  function getAllFolders(curfolder)
  { 
    var files = curfolder.getFiles();   
    for (var i = 0; i < files.length; i++){   
        if (files[i] instanceof Folder){   
            counter++; 
            getAllFolders(files[i]); 
        } 

        else if (files[i] instanceof File ) {
            if ( files[i].displayName === "Mint_End Flat Cleand no icc.psd")
            {
                text += "\n" + "FOUND:   " + files[i].displayName + "\n\n";
            }

            text += (numbers++) + ": " + files[i].fsName + "\n";
            }

      } 
  }

  var curFolder = dir; 

  getAllFolders(curFolder); 
  text += "\n" + "Sub-folders: " + counter + "\n";
  //alert(counter + " - " + curFolder + " - " + text);

  for (i = 0 ; i < aDoc.textFrames.length; i++) //  пишем в выделенный текст
{
if (aDoc.textFrames[i].selected == true)
{
aDoc.textFrames[i].contents = text;
    }
}