Trabajo por lotes de Photoshop: exportar a carpeta (nombres de archivo)

Estoy tratando de ejecutar un archivo por lotes en una acción personalizada. La acción hace una cosa: Archivo -> Exportar -> Rutas a Illustrator.

Sin embargo, cada vez que ejecuto esa acción como un lote en varios archivos, guarda cada archivo con el mismo nombre. Entonces, si lo abro File1.psdy lo guardo como working/File1.ai, luego ejecuto el lote en File2.psd, File3.psdy File4.psdlo que obtengo es working/File1.aicomo un archivo de Illustrator exportado desde File4.psd. Los archivos 2 y 3 han sido sobrescritos (al igual que File1.ai, obviamente).

Aquí está mi cuadro de diálogo Lote:Captura de pantalla del cuadro de diálogo Lote

Si cambio el destino a, por ejemplo, Carpeta, vuelve a guardar todos los archivos como PSD además de sobrescribir los archivos AI. ¿Cómo puedo ejecutar esta exportación en una cantidad arbitraria de archivos PSD y obtener la misma cantidad de archivos AI en el otro extremo?

EDITAR: volver a grabar la acción y rechazar el cuadro de diálogo me da el cuadro de diálogo en la primera ejecución del lote, y los archivos posteriores se guardan con el nombre que proporciono en ese cuadro de diálogo (en otras palabras, un cuadro de diálogo para todos los archivos).

EDIT 2: siguiendo la respuesta a continuación, intenté guardar en la carpeta y anular los comandos de guardado de acción (captura de pantalla):cuadro de diálogo de proceso por lotes segundo intento

Esto produjo los mismos resultados. :(

Aquí está la acción que estoy ejecutando:captura de pantalla de definición de acción

ETA 3: según los comentarios, mi problema podría ser que el comando Exportar -> Rutas a Illustrator no respeta la casilla de verificación "Anular acción Guardar como", lo que significa que estoy atascado con esa deficiencia de Photoshop.

¿Qué tan familiarizado está con javascript, etc.?
No es mi primera lengua, pero me llevo bien. Parte del objetivo final de estos scripts es obtener cadenas de ruta que pueda usar en Raphael.js.
Bien, mira mi respuesta.
Votos negativos: ¿le importa ofrecer críticas constructivas?

Respuestas (2)

Elija una carpeta de destino (última opción no atenuada) y luego elija 'anular acción guardar como' debajo de ella. Puede ver que debajo de eso , dice 'Número de serie inicial', lo que indica que nombrará cada archivo con el siguiente número.

Mmm. Intenté esto y obtengo el mismo comportamiento que antes. Agregaré una captura de pantalla de la acción que estoy ejecutando, tal vez eso ayude...
Extraño, funciona para mí ... Probablemente sea un pequeño detalle que estás haciendo de manera diferente.
Sí, ese pequeño detalle es lo que necesito averiguar. :( ¡Si tan solo pudiera editar la acción directamente!
¿Puede publicar una captura de pantalla de su diálogo por lotes para que pueda buscar diferencias?
Espera, estoy un poco confundido ahora que estoy leyendo esto de nuevo. He usado lote antes, pero nunca para exportar a Illustrator, y cuando abro la pantalla de lote, no me da esta opción. ¿Cómo llegaste allí? (PD: es posible que deba modificar / eliminar mi respuesta si estoy totalmente fuera de lugar aquí)
Tampoco tengo un set de 'Sylvius'..
Creo que "exportar" no respeta la "anulación de guardar como" ya que no es un comando "guardar como". Sé por experiencia personal que una acción de "guardar para web" no se ve afectada por esto
Pero, ¿cómo llegaste allí, con la opción de guardar en Illustrator? File > Automate > Batch..¿Supongo?
@poepje: no se deje confundir por el menú desplegable con "Exportar a Illustrator". Ese es el nombre de una acción personalizada.
Pjmorse, he creado una sala de chat sobre esto, ¿te gustaría unirte? chat.stackexchange.com/rooms/info/3776/…
Lo siento, estaba de viaje cuando publicaste el comentario en la sala de chat. Para responder a sus comentarios: el conjunto "Sylvius" es solo un conjunto en la ventana de acciones de Photoshop (cree haciendo clic en el icono de la carpeta). "Exportar a Illustrator" es solo el nombre de la acción que creé; podría haberla llamado "mi acción personalizada" o "Elliot". Mi tercera captura de pantalla muestra la acción, que es muy simple.
@horatio, parece que este es mi problema (que "exportar" no respeta la "anulación de guardar como"). Lo que necesito es averiguar cómo evitarlo.
Solo para aclarar, en CS6, algunas funciones de exportación respetan la "anulación de guardar como" cuando se usan con "Número de serie". Si la función que está utilizando no lo hace, entonces la respuesta de @horatio a continuación es una buena alternativa.

Una forma de trabajar con esto es usar secuencias de comandos (applescript, vbscript, javascript). Phtoshop expone el comando de exportación ( exportDocument (exportIn [, exportAs][, options])) (consulte, por ejemplo, el documento de adobe photoshop_cs4_javascript_ref.pdf) y, por lo tanto, todo lo que necesita hacer es abrir un documento y luego alimentar el comando con un nombre de archivo de destino y opciones.

Una búsqueda rápida en Google me llevó a este script de Photoshop para Geeks ( http://www.tranberry.com/panels/ ) NO MI CÓDIGO:

// openFolderTemplate.jsx
// Copyright 2007
// Written by Jeffrey Tranberry
// Photoshop for Geeks Version 1.0

/* 
Description:
This script is a template script that will
open and process a folder of images
*/

// enable double clicking from the 
// Macintosh Finder or the Windows Explorer
#target photoshop

// Make Photoshop the frontmost application
// in case we double clicked the file
app.bringToFront();


///////////////////////////
//       SET-UP          //
///////////////////////////


// A list of file extensions to skip, keep them lower case

    gFilesToSkip = Array( "db", "xmp", "thm", "txt", "doc", "md0", "tb0", "adobebridgedb", "adobebridgedbt", "bc", "bct" );


// Pops open a dialog for the user to
// choose the folder of documents to process

    var inputFolder = Folder.selectDialog("Select a folder of documents to process");


// Pops open a dialog for the user to
// set the output folder

    var outputFolder = Folder.selectDialog("Select a folder for the output files");



///////////////////////
//         MAIN          //
//////////////////////



// Open Folder of Images

    OpenFolder();


// show the path to an output folder

    alert(outputFolder);



///////////////////////////
//       FUNCTIONS       //
///////////////////////////



// Given the a Folder of files, open them

function OpenFolder() {
        var filesOpened = 0;
        var fileList = inputFolder.getFiles();
        for ( var i = 0; i < fileList.length; i++ ) {
                   // Make sure all the files in the folder are compatible with PS
                if ( fileList[i] instanceof File && ! fileList[i].hidden && ! IsFileOneOfThese( fileList[i], gFilesToSkip )) {
                        open( fileList[i] );
                        filesOpened++;


                    /////////////////////////////////////
                    // Put all your processing functions... //
                    /////////////////////////////////////

                        // Alert and show the document name
                        alert(app.activeDocument.name);

                        // Cloes the file without saving
                        app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);

                    ////////////////////////////////////////////
                    // ...in the area between these two comments. //
                    ////////////////////////////////////////////


                }

        }
        return filesOpened;
}


// given a file name and a list of extensions
// determine if this file is in the list of extensions

function IsFileOneOfThese( inFileName, inArrayOfFileExtensions ) {
    var lastDot = inFileName.toString().lastIndexOf( "." );
    if ( lastDot == -1 ) {
        return false;
    }
    var strLength = inFileName.toString().length;
    var extension = inFileName.toString().substr( lastDot + 1, strLength - lastDot );
    extension = extension.toLowerCase();
    for (var i = 0; i < inArrayOfFileExtensions.length; i++ ) {
        if ( extension == inArrayOfFileExtensions[i] ) {
            return true;
        }
    }
    return false;
}

Puede elegir una carpeta de origen y de destino, y el script enumerará los archivos. A continuación, puede insertar su propia función en do magic.

¿Eso también funciona para Illustrator? ^
Illustrator admite secuencias de comandos, pero supongo que la secuencia de comandos anterior no funcionaría sin modificaciones en Illustrator. Adobe aloja documentación sobre el modelo de secuencias de comandos en general y para productos individuales.
@ user20375: envié una edición a la respuesta para la referencia de secuencias de comandos de Photoshop, pero aquí está el enlace correspondiente para Illustrator ( adobe.com/devnet/illustrator/scripting.html ). Dado que Illustrator no abre archivos de la misma manera que PS, la línea 16 (#target photoshop) y la línea 77 (open(fileList[i] );) cambiarían, y obviamente su acción/procesamiento específico.