PDA

Vollständige Version anzeigen : Bedienfeld Dateien in Ebenen exportieren - Ausgabedateinamen editieren


phoenix
01.05.10, 19:00
Weil mich das Ding manchmal extrem nervt eine mini Anleitung wie man gescheite Dateinamen herausbekommt.

Als erstes im Ordner Presets/Scripts die Datei Export Layers To Files.jsx suchen und mit einem ASCII Editor öffnen (oder beim Speichern darauf öffnen das man als 'plain text' speichert.). Dann folgenden Codeblock heraussuchen:

var fileNameBody = fileNamePrefix;
fileNameBody += "_" + zeroSuppress(i, 4);
fileNameBody += "_" + layerName;
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_"); // '/\:*?"<>|' -> '_'
if (fileNameBody.length > 120) {
fileNameBody = fileNameBody.substring(0,120);
}
saveFile(duppedDocumentTmp, fileNameBody, exportInfo);

Folgende Editierung bewirkt z.b., dass einfach fortlaufend nach folgendem Muster abgespeichert wird (4DigitNumber.Format / z.B. 0001.jpg):

var fileNameBody = fileNamePrefix;
fileNameBody += zeroSuppress(i, 4);
// fileNameBody += "_" + zeroSuppress(i, 4);
// fileNameBody += "_" + layerName;
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_"); // '/\:*?"<>|' -> '_'
if (fileNameBody.length > 120) {
fileNameBody = fileNameBody.substring(0,120);
}
saveFile(duppedDocumentTmp, fileNameBody, exportInfo);


Bisschen rumspielen, dann kann man das schön dem eigenen Gebrauch anpassen.

Zweites Beispiel (4DIGITNumber+Prefix.Format / z.B. 0001_thumb.jpg, wenn Dateinamenpräfix = _thumb):

var fileNameBody = "";
fileNameBody += zeroSuppress(i, 4) + fileNamePrefix;
// fileNameBody += "_" + zeroSuppress(i, 4);
// fileNameBody += "_" + layerName;
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_"); // '/\:*?"<>|' -> '_'
if (fileNameBody.length > 120) {
fileNameBody = fileNameBody.substring(0,120);
}
saveFile(duppedDocumentTmp, fileNameBody, exportInfo);

Und noch ein drittes Beispiel. Erhält die Ebenennamen, entfernt lediglich .jpg/.png/.gif, da diese beim Speichern wieder angehängt werden. Bspw. anzuwenden wenn ein Ordner mit Bildern eingelesen, verkleinert und unter Originalnamen neu abgespeichert werden soll. Code-Farbdarstellung einfach ignorieren.


// fileNameBody += zeroSuppress(i, 4) + fileNamePrefix;
// fileNameBody += "_" + zeroSuppress(i, 4);
// fileNameBody += "_" + layerName;
fileNameBody = fileNameBody.replace(/[:\/\\*\?\"\<\>\|]/g, "_");
fileNameBody = fileNameBody.replace(/.jpg/g,"");
fileNameBody = fileNameBody.replace(/.png/g,"");
fileNameBody = fileNameBody.replace(/.gif/g,"");



Gruss,
phoenix

sham
02.05.10, 18:47
feine sache... werd ich sicherlich für mich selber nicht nutzen aber ist defenitiv mal gut zu wissen.
gehört das scripten eigentlich noch zu den grundlagen :fragen:

aber danke für deinen beitrag :clap:

studroa
04.05.10, 18:10
Hey,

mhhh... also sowas habe ich schon lange (CS3) unter Datei->Script->Dateien in Stapel laden

Ist das nicht schon ein Standard-Script?

phoenix
05.05.10, 16:14
Ob das jetzt Grundlagen sind oder nicht, in Bezug auf die Scriptnutzung sind es schon Grundlagen.

Ja das ist ein Standardscript. Es geht nur darum die Dateinamenausgabe brauchbar zu machen für verschiedene Einsatzzwecke.