Bulk replace script

All things .jsx

Moderator: Paul Tuersley

Post Reply
Avinash Ramanath
Posts: 12
Joined: April 19th, 2017, 4:53 am

This script replaces selected items from project panel with selected layers in comp panel
1. Select items to replace
2. Select layers to be replaced in comp panel
3. script checks for number of items if number matches, it replaces, else throws an error alert

Code: Select all


app.beginUndoGroup("Bulk Replace");

var sourceLayers = [];

if (app.project.selection.length != 0) {

    for (var i = 1; i <= app.project.numItems; i++) {
        if (app.project.item(i).selected) {
            sourceLayers.push(app.project.item(i))
        }
    }

    if (app.project.activeItem.selectedLayers.length != 0) {

        var selectedLayers = app.project.activeItem.selectedLayers;
        var replacementLayers = [];



        for (i = 0; i <= selectedLayers.length - 1; i++) {
            replacementLayers.push(selectedLayers[i])
        }

        if (replacementLayers.length == sourceLayers.length) {

            for (var i = 0; i < sourceLayers.length; i++) {
                replacementLayers[i].replaceSource(sourceLayers[i], true);
            }
        } else {
            alert("Number mismatch")
        }
    } else {
        alert("select layers in comp")
    }


} else {
    alert("Select project panel items")
}

app.endUndoGroup();

Post Reply