Javascript 检查是否存在具有不同扩展名的文件?
我开始在photoshop中使用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
.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
创建了一个新变量,它指向正确的路径和文件名。再次感谢!:)