微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Photoshop Extendscript - 文件被锁定 - 无法保存

如何解决Photoshop Extendscript - 文件被锁定 - 无法保存

我无法使用 javascript 保存我的文件。 尝试通过我的脚本保存文件时的错误是:

无法将副本保存为“...”,因为文件被锁定、您没有必要的权限或其他程序正在使用该文件。使用 Windows 资源管理器中的“属性”命令解锁文件

如果我按确定,我的脚本会告诉我“用户中止”。

我已经成功地使用扩展脚本工具包编写了一些 .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 filepath = psdname + '.png'

我相信应该有

var filepath = exppath + "/" + psdname + '.png'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。