
Desbloquea y borra capas por lotes en Adobe Photoshop
Muchas veces descargamos archivos PSD y contienen capas que no deja ver su contenido, o necesitamos borrar capas que ya no ocupamremos , si este es tu caso Batch Layer Delete Script es la solución.
La función de este script es abrir todas las imágenes PSD de una carpeta seleccionada, se desbloquean las capas (si están bloqueadas) y se eliminarán todas las capas con los nombres especificados en el script.
Luego... guardará las imágenes modificadas en la subcarpeta "copy". Y Si algun documento no posee ninguna de las capas mencionadas, sólo pasará a la siguiente imágen.
[#target photoshop// Función para procesar todas las imágenes PSD en una carpetafunction procesarImagenesPSDEnCarpeta(carpeta) {var folder = new Folder(carpeta);var files = folder.getFiles("*.psd");var copyFolder = new Folder(folder + "/copy");// Verificar si la subcarpeta "copy" existe, si no, crearlaif (!copyFolder.exists) {copyFolder.create();}// Iterar a través de todos los archivos en la carpetafor (var i = 0; i < files.length; i++) {var file = files[i];// Abrir la imagen PSDvar doc = app.open(file);// Procesar las capas de la imagen PSDprocesarCapas(doc, copyFolder);// Cerrar la imagen PSD sin guardar los cambiosdoc.close(SaveOptions.DONOTSAVECHANGES);}}// Función para procesar las capas de una imagen PSDfunction procesarCapas(doc, copyFolder) {// Iterar a través de todas las capas de la imagen PSD (en orden inverso para evitar problemas con la eliminación de capas)for (var i = doc.layers.length - 1; i >= 0; i--) {var currentLayer = doc.layers[i];// Desbloquear la capa si está bloqueadaif (currentLayer.allLocked) {currentLayer.allLocked = false;}// Eliminar las capas con los nombres especificadosvar prohibitedLayerNames = ["capa 1", "capa2", "capa3", "capa 4", "capa 5",];for (var j = 0; j < prohibitedLayerNames.length; j++) {if (currentLayer.name === prohibitedLayerNames[j]) {currentLayer.remove();break; // Salir del bucle una vez que se elimina una capa}}}// Guardar la imagen PSD modificada en la subcarpeta "copy"var copyFile = new File(copyFolder + "/" + doc.name);var saveOptions = new PhotoshopSaveOptions();saveOptions.embedColorProfile = true;saveOptions.alphaChannels = true;saveOptions.layers = true;doc.saveAs(copyFile, saveOptions, true, Extension.LOWERCASE);}// Verificar si hay una carpeta seleccionadavar carpetaSeleccionada = Folder.selectDialog("Seleccione la carpeta con las imágenes PSD");if (carpetaSeleccionada) {// Procesar las imágenes PSD en la carpeta seleccionadaprocesarImagenesPSDEnCarpeta(carpetaSeleccionada);} else {alert("No se seleccionó ninguna carpeta.");}]
Para usar el script solamente cambia el nombre capa 1, capa2, capa3, capa 4, capa 5,
por el nombre de las capas que deseas eliminar, agrega o elimina cuantas capas desees.El Script está testeado en Adobe Photoshop 2024 versión 25.4.0
Copia y pega en un block de notas el codigo del script y nombralo como tu quieras, guardalo con extensión .js o .jsx ; o descargalo desde el siguiente enlace : Batch Layer Delete Script
Espero te haya servido de utilidad y si es así, compartenos en tus redes sociales.