Skip to main content
Participant
May 16, 2024
Answered

Editing actions- replacing all of one kind/filtering

  • May 16, 2024
  • 3 replies
  • 374 views

I've tried searching, but can't find anyone asking this so here we go:

Say I have a long photoshop action I recorded. I want to find and delete all "view/zoom" types of actions from it. Is there a way to filter all of those out and mass delete them?

 

I have tried the export to xml script posted elsewhere  but after 4 hours of trying to export (processing) I assumed it was too long and gave up. For work, most of these actions are very long and I see no easy way to replace/remove all of specific action types. Manual is very slow, and many get lost in the list when you scroll and try to do it manually (as in, hard to pick out) and not removed because of this. 

 

Does anyone know how this might be done? Or am I SOL? Thanks.

This topic has been closed for replies.
Correct answer r-bin

It's not very clear what exactly you want to delete.

This script removes all "Make" commands from the ActionSet "Default Actions->Frame Channel - 50 pixel".

Modify it to suit yourself.

 

for (var i = 1; i < 100000; i++)
    {
    var r = new ActionReference();
    r.putIndex(stringIDToTypeID("command"), i);
    r.putName(stringIDToTypeID("action"), "Frame Channel - 50 pixel");
    r.putName(stringIDToTypeID("actionSet"), "Default Actions");

    var nm = executeActionGet(r).getString(stringIDToTypeID("name"));

//  alert(nm);

    if (nm == "Make")
        {
        var d = new ActionDescriptor();
        var r = new ActionReference();
        r.putIndex(stringIDToTypeID("command"), i);
        r.putName(stringIDToTypeID("action"), "Frame Channel - 50 pixel");
        r.putName(stringIDToTypeID("actionSet"), "Default Actions");
        d.putReference(stringIDToTypeID("null"), r);
        executeAction(stringIDToTypeID("delete"), d, DialogModes.NO);

        --i;
        }
    }

 

3 replies

Stephen Marsh
Community Expert
Community Expert
May 16, 2024

Can you share the action or unedited XML and a screenshot clearly indicating the action steps to be removed.

 

It's really easy to make a mistake when editing the XML, although tedious, it's much safer to just edit the action steps directly in Photoshop. Much easier to convert to JSX and edit that if you don't need to take it back to an action.

r-binCorrect answer
Legend
May 16, 2024

It's not very clear what exactly you want to delete.

This script removes all "Make" commands from the ActionSet "Default Actions->Frame Channel - 50 pixel".

Modify it to suit yourself.

 

for (var i = 1; i < 100000; i++)
    {
    var r = new ActionReference();
    r.putIndex(stringIDToTypeID("command"), i);
    r.putName(stringIDToTypeID("action"), "Frame Channel - 50 pixel");
    r.putName(stringIDToTypeID("actionSet"), "Default Actions");

    var nm = executeActionGet(r).getString(stringIDToTypeID("name"));

//  alert(nm);

    if (nm == "Make")
        {
        var d = new ActionDescriptor();
        var r = new ActionReference();
        r.putIndex(stringIDToTypeID("command"), i);
        r.putName(stringIDToTypeID("action"), "Frame Channel - 50 pixel");
        r.putName(stringIDToTypeID("actionSet"), "Default Actions");
        d.putReference(stringIDToTypeID("null"), r);
        executeAction(stringIDToTypeID("delete"), d, DialogModes.NO);

        --i;
        }
    }

 

Participant
May 16, 2024

This will do exactly what I want once edited. Thankyou!

Legend
May 16, 2024

Actions are not easy to edit even if you convert to XML. You can use the BatchPlay listing if you have UXP knowledge and edit that.