我试图让我的 JavaScript 忽略包含一堆 Photoshop 图像的文件夹中保存的一个文件类型扩展名。对于文件夹中的所有其他文件类型,我都有它,以便这些文件类型填充一个窗口,并且用户可以导入到他们的工作空间中。
我已修改脚本以忽略我想要忽略的文件扩展名,但它不再使用文件夹中包含的所有其他文件类型填充窗口。但是,当我从文件夹中取出我想要忽略的文件时,窗口会按应有的方式填充。
这是我目前检查文件夹中文件类型的方法:
//Prompt for folder location
var Path = Folder.selectDialog("Select Folder Location for Renders")
// Use the path to the application and append the samples folder
var samplesFolder = Folder(Path)
//Get the files
var fileList = samplesFolder.getFiles()
//Creat Array to hold names
var renderTypes = new Array();
//Parse Initial name to get similar render elements
var beautyRender = fileList[0].name
beautyRender = beautyRender.substr(0, beautyRender.length-4)
//Get the render elements with a similar name
for (var i = 0; i < fileList.length; i++)
{
var filename = fileList[i].name;
if (filename.match(/\.(stitchinfo)$/i) == null)
{
if(fileList[i].name.substring(0,beautyRender.length) === beautyRender)
{
renderTypes.push(fileList[i].name);
}
}
}
任何人都可以看到我做错了什么并需要修改吗?
更新 我仍在尝试使其正常工作,并按照下面其中一张海报的帮助,我已将代码修改为以下内容:
for (var i = 0; i < fileList.length; i++)
{
var filename = fileList[i].name;
if (filename.match(/\.(stitchinfo)$/i) == null)
{
renderTypes.push(fileList[i].name);
}
}
但是,这个新代码带来了一个新问题,因为它返回文件夹中包含的每个文件并显示它。
我仍然对如何让它按我想要的方式工作感到困惑。请问有人可以帮助我吗?
最佳答案
您正在创建一个稀疏数组,因为当您忽略 fileList
中的文件名时,您会跳过 renderTypes
中的元素。这可能会让您的渲染代码感到困惑。更改为:
renderTypes.push(fileList[i].name);
关于Javascript 忽略所有文件而不是一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19660376/