Photoshop Extendscript - 文件被锁定 - 无法保存
Posted
技术标签:
【中文标题】Photoshop Extendscript - 文件被锁定 - 无法保存【英文标题】:Photoshop Extendscript - File is locked - Cant save 【发布时间】:2021-05-02 21:52:08 【问题描述】:我无法使用 javascript 保存我的文件。 尝试通过我的脚本保存文件时的错误是:
无法将副本另存为“...”,因为文件已锁定、您没有必要的权限或其他程序正在使用该文件。使用 Windows 资源管理器中的“属性”命令解锁文件。
如果我按下确定,我的脚本会告诉我“用户中止”。
我已经使用extendscript 工具包成功编写了一些.jsx 来自动化photoshop,但这是第一次从csv 列表中读取.psd 路径并在photoshop 中打开它们。
我认为问题在于“var docRef = app.activeDocument;”在我的 savePng 函数中创建,同时仍在循环读取我的 .csv
这是我的代码的一部分,我在其中循环所有我的 photoshop 文件并尝试将它们保存为 .png
我在这里做了一些函数来处理我的自动化。
for (var i = 0; i <= lineslength - 2; i++)
if(typeof lines[i] !== "undefined")
app.open(new File(lines[i]));
var docname = app.activeDocument;
var filenamelong = docname.name
var filename = filenamelong.substring(4, filenamelong.length - 4);
clickonlayer()
createlayer()
isolate()
maskinput("image_mask")
try
maskadd("image2_mask")
maskadd("image3_mask")
maskadd("image4_mask")
catch(error)
setcolor()
deselect()
savePng(filename)
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
filenew.writeln(lines[i] + " EXPORTED")
这是我的 savePng 函数:
function savePng(psdname)
var docRef = app.activeDocument;
var exppath = "C:/Users/Jeremy/Documents/export";
var filepath = psdname + '.png'
var file = new File(filepath);
var opts = new PNGSaveOptions();
docRef.saveAs(file, opts, true);
通常在我的 photoshop 脚本中,我打开一个文件并创建 app.activeDocument 变量,但这次需要在通过脚本打开文件后创建它。
感谢您的帮助。
【问题讨论】:
您是否尝试过使用不同的路径?错误消息几乎解释了这个问题,它与变量无关 是的,我尝试了不同的路径。没什么不同。我的一个解决方法是使用旧功能“保存为网络”。 这可能是你的问题var filename = filenamelong.substring(4, filenamelong.length - 4);
文件名123.psd
文件名变为.
好点,但我有很长的命名约定,所以情况并非如此。
【参考方案1】:
var filepath = psdname + '.png'
我认为应该有
var filepath = exppath + "/" + psdname + '.png'
【讨论】:
以上是关于Photoshop Extendscript - 文件被锁定 - 无法保存的主要内容,如果未能解决你的问题,请参考以下文章
Photoshop Extendscript - 文件被锁定 - 无法保存
使用扩展脚本(javascript)如何从 Photoshop 颜色表中获取颜色值