Resuelto
Is there a way to delete the mask of selected layers at once?
Can anyone help?
Is there a way to delete the mask of selected layers at once? 
Can anyone help?
Is there a way to delete the mask of selected layers at once? 
Script Features:
/*
Delete Selected Layers Masks.jsx
v1.0, 8th November 2023, Stephen Marsh
https://community.adobe.com/t5/photoshop-ecosystem-discussions/is-there-a-way-to-delete-the-mask-of-selected-layers-at-once/td-p/14217756
*/
#target photoshop
function main() {
// Capture the initial layer visibility and layer selection
var currentLayersState = getLayersVisiblity();
// Process selected layers
var s2t = stringIDToTypeID;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('targetLayersIDs'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var lrs = executeActionGet(r).getList(p),
sel = new ActionReference();
// Loop over the selected layers
for (var i = 0; i < lrs.count; i++) {
sel.putIdentifier(s2t('layer'), p = lrs.getReference(i).getIdentifier(s2t('layerID')));
(r = new ActionReference()).putIdentifier(s2t('layer'), p);
(d = new ActionDescriptor()).putReference(s2t("target"), r);
executeAction(s2t('select'), d, DialogModes.NO);
// Select the raster mask channel
selectLayerCompositeChannel("mask");
// Conditional check for layer kind
s2t = stringIDToTypeID;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('layerKind'));
r.putEnumerated(s2t('layer'), s2t('ordinal'), s2t('targetEnum'));
var layerKind = executeActionGet(r).getInteger(p);
/*
https://community.adobe.com/t5/photoshop-ecosystem-discussions/how-to-check-layer-kind-using-javascript/m-p/13174707
const kAnySheet = 0
const kPixelSheet = 1
const kAdjustmentSheet = 2
const kTextSheet = 3
const kVectorSheet = 4
const kSmartObjectSheet = 5
const kVideoSheet = 6
const kLayerGroupSheet = 7
const k3DSheet = 8
const kGradientSheet = 9
const kPatternSheet = 10
const kSolidColorSheet = 11
const kBackgroundSheet = 12
const kHiddenSectionBounder = 13
https://web.archive.org/web/20190812233828/http://creativetuts.com:80/photoshop-script-determine-layer-kind/
DOM code doesn't have a generic adjustment layer kind, it is specific to each kind (LayerKind.CHANNELMIXER || LayerKind.COLORBALANCE etc).
It is obviously more concise to use AM code for a generic adjustment layer check, rather than chaining together all possible adjustment layer kinds.
*/
if (layerKind === 2 || 4) {
removeLayerMask();
} else {
applyLayerMask(true);
}
}
// Restore the initial layer visibility and selection
setLayersVisiblity(currentLayersState);
}
app.activeDocument.suspendHistory("Delete Selected Layers Masks...", "main()");
//// Functions ////
function selectLayerCompositeChannel(chanPara) {
// "RGB" | "mask"
var s2t = function (s) {
return app.stringIDToTypeID(s);
};
var descriptor = new ActionDescriptor();
var reference = new ActionReference();
reference.putEnumerated(s2t("channel"), s2t("channel"), s2t(chanPara));
descriptor.putReference(s2t("null"), reference);
descriptor.putBoolean(s2t("makeVisible"), false);
executeAction(s2t("select"), descriptor, DialogModes.NO);
}
function applyLayerMask(applyORdelete) {
// Suitable for most layer kinds
function s2t(s) {
return app.stringIDToTypeID(s);
}
var descriptor = new ActionDescriptor();
var reference = new ActionReference();
reference.putEnumerated(s2t("channel"), s2t("ordinal"), s2t("targetEnum"));
descriptor.putReference(s2t("null"), reference);
descriptor.putBoolean(s2t("apply"), applyORdelete); // boolean
executeAction(s2t("delete"), descriptor, DialogModes.NO);
}
function removeLayerMask() {
// Suitable for layer kinds such as Adjustment or Vector
var iddelete = stringIDToTypeID("delete");
var desc520 = new ActionDescriptor();
var idnull = stringIDToTypeID("null");
var ref130 = new ActionReference();
var idchannel = stringIDToTypeID("channel");
var idordinal = stringIDToTypeID("ordinal");
var idtargetEnum = stringIDToTypeID("targetEnum");
ref130.putEnumerated(idchannel, idordinal, idtargetEnum);
desc520.putReference(idnull, ref130);
executeAction(iddelete, desc520, DialogModes.NO);
}
//// Functions - from jazz-y ////
function getLayersVisiblity() {
var s2t = stringIDToTypeID,
t2s = typeIDToStringID;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('targetLayersIDs'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var targetLayers = executeActionGet(r).getList(p),
seletion = [],
visiblity = {};
for (var i = 0; i < targetLayers.count; i++) seletion.push(targetLayers.getReference(i).getIdentifier());
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('numberOfLayers'));
r.putEnumerated(s2t('document'), s2t('ordinal'), s2t('targetEnum'));
var len = executeActionGet(r).getInteger(p);
for (var i = 1; i <= len; i++) {
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('layerSection'));
r.putIndex(s2t('layer'), i);
if (t2s(executeActionGet(r).getEnumerationValue(p)) == 'layerSectionEnd') continue;
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('layerID'));
r.putIndex(s2t('layer'), i);
var id = executeActionGet(r).getInteger(p);
(r = new ActionReference()).putProperty(s2t('property'), p = s2t('visible'));
r.putIndex(s2t('layer'), i);
var visible = executeActionGet(r).getBoolean(p);
visiblity[id] = visible;
}
return {
selection: seletion,
visiblity: visiblity
};
}
function setLayersVisiblity(layersStateObject) {
var s2t = stringIDToTypeID;
for (var a in layersStateObject.visiblity) {
makeVisible = layersStateObject.visiblity[a] ? "show" : "hide";
(r = new ActionReference()).putIdentifier(s2t('layer'), a);
(d = new ActionDescriptor()).putReference(s2t('target'), r);
executeAction(s2t(makeVisible), d, DialogModes.NO);
}
if (layersStateObject.selection.length) {
var r = new ActionReference();
for (var i = 0; i < layersStateObject.selection.length; i++)
r.putIdentifier(s2t("layer"), layersStateObject.selection[i]);
(d = new ActionDescriptor()).putReference(s2t("target"), r);
d.putBoolean(s2t("makeVisible"), false);
executeAction(s2t("select"), d, DialogModes.NO);
} else {
(r = new ActionReference()).putEnumerated(s2t("layer"), s2t('ordinal'), s2t('targetEnum'));
(d = new ActionDescriptor()).putReference(s2t('target'), r);
executeAction(s2t('selectNoLayers'), d, DialogModes.NO);
}
}
https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.