我开始使用.tif
文件在photoshop中开始。我运行一个脚本,添加一些图层等,然后我将文件保存为.psd
在新文件夹中。
我遇到的问题是检查.psd
文件是否已存在且名称相同。我的目标是,如果文件夹中出现.tif
具有相同名称的.psd
,则只需关闭//Save document
var savePath = Folder(doc.path.parent) + "/new_folder/";
saveFile = new File(savePath);
saveOptions = new PhotoshopSaveOptions;
saveOptions.embedColorProfile = true;
if ( WHAT SHOULD I BE ASKING HERE? ) {
doc.saveAs(saveFile, saveOptions, false, Extension.LOWERCASE);
} else {
doc.close(SaveOptions.DONOTSAVECHANGES);
}
文件而不保存。
这是我的保存代码:
if
我坚持添加.exists
功能的内容?我已经尝试了.tif
,但由于当前文件仍处于.psd
模式且尚未保存到.psd
,因此无效。因此,它会继续保存并覆盖之前保存的//Strip .tif and add .psd to file name
var docName = doc.name;
PSDName = docName.substr(0,docName.length-3);
PSDName = PSDName + "psd";
//Save document
var savePath = Folder(doc.path.parent) + "/new_folder/";
saveFile = new File(savePath);
saveOptions = new PhotoshopSaveOptions;
saveOptions.embedColorProfile = true;
var savedFile = savePath + "/" + PSDName
if (! savedFile.exists ) {
doc.saveAs(saveFile, saveOptions, false, Extension.LOWERCASE);
} else {
doc.close(SaveOptions.DONOTSAVECHANGES);
}
任何帮助都是最受欢迎的。 :)
编辑:
我以为我有这个工作,但仍然没有运气:
if
!
语句每次返回false并且doc没有保存。如果我带走{{1}}它每次都会保存。
答案 0 :(得分:1)
使用您要测试的文件名创建一个新变量 - 即.PSD
文件的名称并使用它。例如,剥离TIF
并将其替换为PSD
,然后使用.exists
。
var ImageName = activeDocument.name;
PSDName = ImageName.substr(0,ImageName.length-3); // Strip "TIF" from end
PSDName = PSDName + "psd"; // Add on "PSD" instead
如果您需要调试脚本,可以执行以下操作:
// Change Debug=1 for extra debugging messages, Debug=0 for no messages
var Debug=1;
...
if(Debug)alert(PSDName);
...
if(Debug)alert("File exists");