You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用VBScript或JS脚本在Photoshop中打开指定扩展名的所有文件?

嘿,这个需求其实挺常见的,不管用VBScript还是JavaScript都能轻松搞定,我给你分别写了带注释的示例代码,直接套用就行~

用VBScript实现批量打开JPG文件

先来说说VBScript的写法,核心是借助Windows的FileSystemObject遍历目标文件夹,筛选出JPG格式的文件后,逐个调用Photoshop的打开方法:

' 创建Photoshop应用对象,Visible设为True可以实时看到操作过程
Set appRef = CreateObject("Photoshop.Application")
appRef.Visible = True

' 替换成你实际要处理的文件夹路径
Dim targetFolderPath
targetFolderPath = "C:\Your\Target\Folder\Path"

' 创建文件系统对象,用来遍历文件夹内容
Set fso = CreateObject("Scripting.FileSystemObject")
Set targetFolder = fso.GetFolder(targetFolderPath)

' 遍历文件夹里的所有文件
For Each file In targetFolder.Files
    ' 统一转成小写判断扩展名,避免大小写差异(比如JPG、jpg、Jpg)
    If LCase(fso.GetExtensionName(file.Path)) = "jpg" Then
        ' 调用Photoshop打开当前文件
        appRef.Open(file.Path)
    End If
Next

' 释放占用的对象资源
Set file = Nothing
Set targetFolder = Nothing
Set fso = Nothing
Set appRef = Nothing
用JavaScript实现批量打开JPG文件

如果用JS的话,Photoshop自带的脚本API就提供了便捷的文件夹操作方法,代码会更简洁:

// 替换成你的目标文件夹路径(注意用斜杠/或者双反斜杠\\)
var targetFolder = new Folder("C:/Your/Target/Folder/Path");

// 先检查文件夹是否存在,避免报错
if (targetFolder.exists) {
    // 用正则匹配筛选所有JPG文件,忽略大小写
    var jpgFiles = targetFolder.getFiles(/\.(jpg|JPG)$/);
    
    // 遍历打开每个符合条件的文件
    for (var i = 0; i < jpgFiles.length; i++) {
        app.open(jpgFiles[i]);
    }
} else {
    alert("指定的文件夹不存在,请检查路径!");
}

小提示

如果需要同时处理JPEG格式,只需要稍微修改判断逻辑:

  • VBScript里把条件改成If LCase(fso.GetExtensionName(file.Path)) = "jpg" Or LCase(...) = "jpeg" Then
  • JS里把正则改成/\.(jpg|jpeg|JPG|JPEG)$/

内容的提问来源于stack exchange,提问作者Nick Cage Wellfair

火山引擎 最新活动