Hallo Iki,
hab' mir das Skript nochmal näher angesehen und mit einer kleinen Änderung für Deine Zwecke angepaßt.
Was macht das Skript (jetzt)?
Es versucht Teile aus dem alten Namen durch Teile für den neuen Namen zu ersetzen.
1. Austausch der Dateierweiterung:
alte Erweiterung: ".eps"
neue Erweiterung: ".tif"
(aus "meinBild.eps" wird "meinBild.tif")
2. Austausch von Dateinamen / Teilen von Dateinamen
auszutauschender Teil des Dateinamens: "Bild"
neuer Teil des Dateinamens: "Poster"
(aus "meinBild.tif" wird "meinPoster.tif")
oder
auszutauschender Teil des Dateinamens: "_grau"
neuer Teil des Dateinamens: "_cmyk"
(aus "meinBild_grau.tif" wird "meinBild_cmyk.tif")
(Im Originalskript von jxswm konnten nur ganze Dateinamen mit ihrer Endung gegen einen neuen Dateinamen mit Endung ausgetauscht werden. Wofür sollte diese Einschränkung gut sein? Ich weiß es nicht.)
Das Skript ändert den Dateinamen nur dann, wenn die Datei mit dem neuen Namen auch tatsächlich existiert.
Ist z.B. "meinPoster.tif" nicht im Verzeichnis von "meinBild.tif" vorhanden, dann wird "meinBild.tif" nicht umbenannt.
// Relink files_mod.js
// Usage:
// The files must be in a same folder:
// 1.relink files with new extensions;
// e.g. old extension = ".eps", new extension = ".tif"
// ("myPicture.eps" -> "myPicture.tif")
//
// 2.relink a file using another file - with exchanging parts of filename;
// e.g. old part of filename = "Picture", new part of filename = "Poster"
// ("myPicture.tif") -> "myPoster.tif"
//
//============================================================================================================
myDialog = app.dialogs.add();
myDialog.name = "Relink files";
myLabelsColumn1 = myDialog.dialogColumns.add();
with(myLabelsColumn1){
staticTexts.add({staticLabel:"Files"});
staticTexts.add({staticLabel:"Relink:"});
staticTexts.add({staticLabel:"Files"});
}
myLabelsColumn2 = myDialog.dialogColumns.add();
AAFileField = myLabelsColumn2.textEditboxes.add({editContents:".eps"});
myLabelsColumn2.staticTexts.add();
BBFileField = myLabelsColumn2.textEditboxes.add({editContents:".tif"});
if(myDialog.show() == true){
AAFile = AAFileField.editContents;
BBFile = BBFileField.editContents;
AA = String(File.encode(AAFile));//Here!: modify the files extensions or a file name(must including the file extensions)
BB = String(File.encode(BBFile));//Here!: modify the files extensions or a file name(must including the file extensions)
myLinks = app.activeDocument.links;
myLinksLength = myLinks.length;
for (oneLink=myLinks.length-1;oneLink>-1;oneLink--) {
myLink = myLinks[oneLink];
myName = String(File.encode(myLink.name));
myLinkName = myName.split(String(File.encode(".")));
myLinkExtention = String(File.encode("."))+String(File.encode(myLinkName[1]));
myLinkPath = String(myLinks[oneLink].filePath);
x1= myLinkPath.split(AA)
x2 = x1.join(BB)
myNewLinkPath = String(File.decode(myLinkPath.split(AA).join(BB)));
myNewFile = File(myNewLinkPath);
try{
myLink.relink(myNewFile);
myLink.update();
}
catch(e){
}
}
}