Page 1 of 1

Bulk replace script

Posted: February 23rd, 2021, 8:02 am
by Avinash Ramanath

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();