javascript - Hitta och ersätt text i flera Photoshop-filer?


Låt oss säga att jag har sex Photoshop-filer: 1.psd, 2.psd, ..., 6.psd. Alla dessa filer innehåller ordet "LoremIpsum" i slumpmässiga textlager, inom varje dokument. Finns det ett sätt att söka efter "LoremIpsum" i alla dokument och ersätta det med "Dolor Sit Amet", allt på en gång?

Jag har försökt hitta och ersätta programvara (inklusive kraftfulla verktyg som Power Grep) men de fungerar inte med psd-filer... Kanske Photoshop-variabler? Men de fungerar bara för ett dokument åt gången...

Tack!

Svar #1

Använd något som skriptet nedan. För mer information, kolla in din Photoshop JavaScript-referens pdf i din Photoshop-installationsmapp.

var dir = new Folder('/c/temp')
var files = dir.getFiles("*.psd");

for (var i = 0; i < files.length; i++) {
    var doc = app.open(files[i]);

    for (var j= 0; j < doc.artLayers.length; j++) {
        var lyr = doc.artLayers[j];

        if (lyr.kind == LayerKind.TEXT) {
            var lyr = doc.artLayers[j];
            lyr.textItem.contents = lyr.textItem.contents.replace("search","replace"); 
        }
     }

    doc.close(SaveOptions.SAVECHANGES)
}