Javascript 检查是否存在具有不同扩展名的文件?

Javascript 检查是否存在具有不同扩展名的文件?,javascript,photoshop-script,Javascript,Photoshop Script,我开始在photoshop中使用.tif文件。我运行一个脚本,添加一些层等,然后将文件保存为.psd在一个新文件夹中 我遇到的问题是检查是否已经存在同名的.psd文件。我的目标是,如果文件夹中出现同名的.psd,只需关闭.tif文件而不保存 这是我的保存代码: //Save document var savePath = Folder(doc.path.parent) + "/new_folder/"; saveFile = new File(savePath); saveOptions = n

我开始在photoshop中使用
.tif
文件。我运行一个脚本,添加一些层等,然后将文件保存为
.psd
在一个新文件夹中

我遇到的问题是检查是否已经存在同名的
.psd
文件。我的目标是,如果文件夹中出现同名的
.psd
,只需关闭
.tif
文件而不保存

这是我的保存代码:

//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,并且文档未保存。如果我拿走
每次都会保存

使用要测试的文件名创建一个新变量,即
.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");

您正在使用文件夹创建一个
新文件
,文件名在哪里?我可以使用
doc.name
(我已将
app.activeDocuments
存储到变量
doc
)来获取文件名
文件夹
就是我的文件保存路径。谢谢。我的条件声明是:
如果(!saveFile+PSDName.exists)
非常好!我喜欢一个计划的结合。供您将来参考,这是我的Photoshop脚本“圣经”。。。非常感谢你的推荐。非常方便:)不幸的是,我以为它能工作,但我在裁判中找不到任何帮助我的东西。取决于我是否有
if
语句中,它要么每次保存,要么根本不保存。我已经把代码放在上面的编辑中了。我确信我没有正确链接到该文件,但我已经尝试了
if
语句中可能的所有组合,但没有任何效果。请查看我编辑的答案,了解如何调试。尝试使用正在测试的文件名执行
警报()
,以查看其格式是否正确。还可以尝试测试一个简单的硬编码文件名,如
~/Desktop/fred
,然后在Finder中创建文件并运行Photoshop脚本,然后删除该文件,然后再次尝试查看脚本是否正确检测到它。然后进入完整的,预期的文件名后,工作。嗨,真的很感谢所有的帮助!我设法解决了这个问题。我必须直接将
.exists
附加到
File()
函数中。因此,我的
if
语句现在看起来如下:
if(!File(savedFile).exists)
我为
savedFile
创建了一个新变量,它指向正确的路径和文件名。再次感谢!:)