如何用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




