You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript在Photoshop中放置结尾含_01的图片到打开文档

Photoshop JS脚本:置入指定后缀的文件到当前文档

你的原脚本问题在于用app.open()直接打开了目标文件,而非将其置入到已打开的Photoshop文档中,同时也没支持PSD格式和可变前缀的文件名需求。以下是修正后的脚本:

#target photoshop

// 确保当前有打开的文档
if (app.documents.length === 0) {
    alert("请先打开一个Photoshop文档!");
    exit();
}

var activeDoc = app.activeDocument;
var docPath = activeDoc.path;
var targetFolder = new Folder(docPath);

// 筛选目录下所有以_01.jpg或_01.psd结尾的文件(不区分大小写)
var targetFiles = targetFolder.getFiles(function(file) {
    var fileName = file.name.toLowerCase();
    return (fileName.endsWith("_01.jpg") || fileName.endsWith("_01.psd")) && file instanceof File;
});

if (targetFiles.length === 0) {
    alert("未找到符合条件的_01.jpg或_01.psd文件!");
    exit();
}

// 遍历找到的文件并置入到当前文档
for (var i = 0; i < targetFiles.length; i++) {
    var fileRef = targetFiles[i];
    try {
        // 置入文件
        var placedLayer = activeDoc.placedItems.add(fileRef);
        
        // 可选:将置入的图层居中对齐文档
        placedLayer.position = [
            (activeDoc.width - placedLayer.width) / 2,
            (activeDoc.height - placedLayer.height) / 2
        ];
        
        // 可选:提交置入的图层(如果需要栅格化)
        // placedLayer.commit();
        
        alert("已成功置入文件:" + fileRef.name);
    } catch (e) {
        alert("置入文件失败:" + fileRef.name + "\n错误信息:" + e.message);
    }
}

脚本说明:

  • 先校验是否有打开的PS文档,避免无文档时触发报错
  • 自动遍历当前文档所在目录,筛选出所有后缀为_01.jpg或_01.psd的文件(不区分大小写,比如abc_01.JPG也能被识别)
  • 使用placedItems.add()方法完成「置入」操作,这才是将文件添加到现有文档的正确方式,而非打开新文档
  • 加入错误处理逻辑,避免单个文件置入失败导致整个脚本中断
  • 附带可选的居中对齐和图层提交操作,你可以根据自己的动作需求调整

内容的提问来源于stack exchange,提问作者Tsunami Lâm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:46:25