为什么我的 .JSX 脚本不能识别我想要批量调整大小的文件夹中的每个图像?
Why doesn't my .JSX script recognize every image in a folder which I want to mass-resize?
我创建了这个 JSX 脚本,但我觉得它没有检查 filelist
变量中的每个文件类型。有人可以看一下吗?当我拥有它时非常令人沮丧 运行 然后由于某种原因弹出一个非描述性错误消息然后停止
这是脚本:
var inputFolder = Folder.selectDialog("Select a folder to process"),
fileList = inputFolder.getFiles(/\.(jpg|tif|psd|crw|cr2|nef|dcr|dc2|raw)$/i);
for(var i=0; i < fileList.length; i++) {
var doc = open(fileList[i]);
if(doc.width !== doc.height) {
if(doc.width > doc.height) {
doc.resizeCanvas(doc.width, doc.width)
} else {
doc.resizeCanvas(doc.height, doc.height)
}
}
if((doc.width && doc.height) > 1000) {
doc.resizeImage(1000, 1000);
} else {
doc.resizeImage(doc.width, doc.height);
}
doc.save();
doc.close();
}
这是错误信息:
好像Folder.getFiles()
不接受RegExp
对象,它只接受一个string
或一个function
,除此之外,它还会包括Folder
对象,您可以将其更改为类似这样的内容以仅过滤文件和您感兴趣的文件类型:
function filter(file) {
return (file instanceof File && /\.(jpg|tif|psd|crw|cr2|nef|dcr|dc2|raw)$/i.test(file.name))
}
fileList = inputFolder.getFiles(filter);
我创建了这个 JSX 脚本,但我觉得它没有检查 filelist
变量中的每个文件类型。有人可以看一下吗?当我拥有它时非常令人沮丧 运行 然后由于某种原因弹出一个非描述性错误消息然后停止
这是脚本:
var inputFolder = Folder.selectDialog("Select a folder to process"),
fileList = inputFolder.getFiles(/\.(jpg|tif|psd|crw|cr2|nef|dcr|dc2|raw)$/i);
for(var i=0; i < fileList.length; i++) {
var doc = open(fileList[i]);
if(doc.width !== doc.height) {
if(doc.width > doc.height) {
doc.resizeCanvas(doc.width, doc.width)
} else {
doc.resizeCanvas(doc.height, doc.height)
}
}
if((doc.width && doc.height) > 1000) {
doc.resizeImage(1000, 1000);
} else {
doc.resizeImage(doc.width, doc.height);
}
doc.save();
doc.close();
}
这是错误信息:
好像Folder.getFiles()
不接受RegExp
对象,它只接受一个string
或一个function
,除此之外,它还会包括Folder
对象,您可以将其更改为类似这样的内容以仅过滤文件和您感兴趣的文件类型:
function filter(file) {
return (file instanceof File && /\.(jpg|tif|psd|crw|cr2|nef|dcr|dc2|raw)$/i.test(file.name))
}
fileList = inputFolder.getFiles(filter);