Скрипт, разлинковывающий файлы в папку с названием документа

Статус
Закрыто для дальнейших ответов.

MAO_the_Doom

Топикстартер
15 лет на форуме
Сообщения
2 408
Реакции
224
Если не сложно, мог бы кто накидать простейший скрипт, разлинковывающий линки-файлы в папку, имеющей имя одинаковое с названием документа indd? Сейчас я это делаю вручную: выделяю нужные линки, unembed, выбираю путь сохранения, пишу имя папки как название документа, Ок.
Прошу только при условии что такой скрипт написать очень легко и не отнимет у вас сколько-нибудь времени (я не разбираюсь в скриптописании никак).
 
Ответ: Скрипт, разлинковывающий файлы в папку с названием документа

Пробуйте на копии.
Код:
var myDoc = app.activeDocument;
var myFP = String(myDoc.fullName).substr(0,String(myDoc.fullName).length-5);
Folder(myFP).create();
var myFolder = Folder(myFP);
var myLinks = myDoc.links;
for (i=0;i<myLinks.length;i++){
	if (myLinks[i].status == 1282237028){
		myLinks[i].unembed(myFolder);
		}
	}
 
Ответ: Скрипт, разлинковывающий файлы в папку с названием документа

два нюанса -
1) одно и то же изображение может быть заэмбеддено раз 100
2) таких может оказаться 2 разных, но с одним именем
 
Ответ: Скрипт, разлинковывающий файлы в папку с названием документа

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

В общем да — программа будет предлагать апдейт линка при каждом совпадении имени, а в случае отказа — останавливаться. Здесь приходится возвращаться к Вашей же теме, решение в которой так и не было найдено.
 
Ответ: Скрипт, разлинковывающий файлы в папку с названием документа

Предлагаю такой вариант переименования:

0мойфайл.тип
1мойфайл.тип
2мойфайл.тип
и т.д.

Т.е все новые линки будут вот так нумероваться в нужной папке.
Если годится, то вот:
Код:
var myDoc = app.activeDocument;
var myFP = String(myDoc.fullName).substr(0,String(myDoc.fullName).length-5);
Folder(myFP).create();
var myFolder = Folder(myFP);
var myLinks = myDoc.links;
for (i=0;i<myLinks.length;i++){
	if (myLinks[i].status == 1282237028){
		myLinks[i].unembed(myFolder);
		var myNewName = String(File(myLinks[i].filePath).path)+"/"+String(i)+String(File(myLinks[i].filePath).name);
		File(myLinks[i].filePath).rename(myNewName);
		myLinks[i].relink(File(myNewName));
		myLinks[i].update();
		}
	}
 
Статус
Закрыто для дальнейших ответов.