2013-08-05 80 views
1

我新使用JS与photoshop,并有一些麻烦。我想要做的是在当前文档的文件名中删除“Online”这个词,然后将一个带有新文件名的JPG保存到不同的文件夹中。Photoshop Javascript脚本:重命名文件并保存为

使用Adobe参考的帮助下,我想出了下面的脚本:

//Path where the final jpg should be saved 
var JPGquality = 12; 
var docPath="C:\Users\user\Desktop\test"; 
var docName=''; 

docName = activeDocument.name; 

//Set new file name by replacing "_Online_" with "_" 

var NewName = docName.replace("_Online_", "_"); 



var saveFile = new File(docPath+'/'+NewName+ '.jpg'); 


//Save JPG 

function SaveJPEG(saveFile, jpegQuality) { 

jpgSaveOptions = new JPEGSaveOptions(); 
jpgSaveOptions.embedColorProfile = true; 
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; 
jpgSaveOptions.matte = MatteType.NONE; 
jpgSaveOptions.quality = jpegQuality; //1-12 
activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE); 
} 

脚本运行通过,但therewithout错误,但没有任何反应。如果有人能告诉我我做错了什么,这将是非常有帮助的。希望有人可以帮助我弄清楚如何解决这一问题;)

回答

0

尝试使用正斜杠在您的docPath:一个Unicode序列的

var docPath="C:/Users/user/Desktop/test"; 

\t(标签)和\u(开始)在JS特殊含义字符串。

或者你可以逃脱他们,当然:

var docPath="C:\\Users\\user\\Desktop\\test"; 
+0

哦~~忘了从资源管理器复制后进行更改。但是,现在感谢林进一步接近工作脚本;-) – janowhatever

+0

在这种情况下,我不知道可能是什么原因。我还没有在这台机器上安装Photoshop,但我在某个时候写了一个类似的脚本。看一看,看看它是否有帮助:https://github.com/igstan/sublime-text-icons/blob/master/create-iconsets.jsx –

+0

另外,在整体上放一个'try/catch'脚本在'catch'块内部有一个'alert(e)',尽管我认为他们对这些脚本有一个调试器... –

0

以JavaScript编写的Photoshop自动化路径的最好办法是“/ C /用户/用户/”这在Mac和Windows,你的作品不需要逃避反斜杠

1

我用这个:

function saveAsJPG() { 

    jpgFile = new File(outputFolder + "/" + _CardFileName + ".jpg"); 
    jpgSaveOptions = new JPEGSaveOptions(); 
    jpgSaveOptions.embedColorProfile = true; 
    jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; 
    jpgSaveOptions.matte = MatteType.NONE; 
    jpgSaveOptions.quality = 12; 
    docRef.saveAs(jpgFile, jpgSaveOptions, true, Extension.LOWERCASE); 

}