// 备份当前文档并删除隐藏图层
function deleteHiddenLayers() {
if
(!app.documents.
length
) {
alert(
"没有打开的文档!"
);
return;
}
var doc = app.activeDocument;
var backupPath = doc.path +
"/"
+ doc.
name
.replace(/\.\w+$/,
"_备份.psd"
);
var file = new File(backupPath);
doc.saveAs(file, new PhotoshopSaveOptions(), true, Extension.LOWERCASE);
app.activeDocument.suspendHistory(
"删除隐藏图层"
,
"main()"
);
function main() {
deleteHidden(doc.layers);
alert(
"已删除所有隐藏图层!备份文件已保存到:"
+ backupPath);
}
function deleteHidden(layers) {
for
(var i = layers.
length
- 1; i >= 0; i--) {
var layer = layers[i];
if
(layer.typename ===
"LayerSet"
) {
deleteHidden(layer.layers);
if
(layer.layers.
length
=== 0) {
layer.remove();
}
}
else
if
(!layer.visible) {
layer.remove();
}
}
}
main();
}
deleteHiddenLayers();