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.psd
y lo guardo como working/File1.ai
, luego ejecuto el lote en File2.psd
, File3.psd
y File4.psd
lo que obtengo es working/File1.ai
como 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:
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):
Esto produjo los mismos resultados. :(
Aquí está la acción que estoy ejecutando:
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.
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.
File > Automate > Batch..
¿Supongo?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
.
Horacio
morse
Horacio
morse