Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find and replace text in multiple Photoshop files?

Let us say I have six Photoshop files: 1.psd, 2.psd, ..., 6.psd. All of these files contain the word "LoremIpsum" in random text layers, within each document. Is there a way I can search for "LoremIpsum" in all documents and replace it with "Dolor Sit Amet", all in one go?

I have tried finding and replacing software (including powerful tools like Power Grep) but they do not work with psd files... Maybe Photoshop variables? However, they only work for one document at once...

Thanks!

like image 332
Malasorte Avatar asked Dec 09 '13 17:12

Malasorte


1 Answers

Use something like the script below. For more info check out your Photoshop JavaScript Reference pdf in your Photoshop install directory.

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)
}
like image 65
Anna Forrest Avatar answered Sep 30 '22 14:09

Anna Forrest