0

我试图让我的 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); 
   }
}

然而,这个新代码带来了一个新问题,它返回文件夹中包含的每个文件并显示它。

我仍然不知道如何让它按我的意愿工作。请问有人可以帮我吗?

4

3 回答 3

1

您正在创建一个稀疏数组,因为renderTypes当您忽略fileList. 这可能会使您的渲染代码感到困惑。改成:

renderTypes.push(fileList[i].name);
于 2013-10-29T14:07:28.273 回答
1

如果什么 :

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); 
      }
   }

} 
  1. 数组的错误使用
  2. 失踪 ”;”
  3. 不必要地使用“继续”。
于 2013-10-29T14:08:53.177 回答
0

设法解决这个问题。

我最终做的是创建一个新函数并将其传递给我检查文件夹位置的调用。

function ignoreMe(f)
{
    return f.name.match(/\.(stitchinfo)$/i) == null;
}

和文件夹检查:

var fileList = samplesFolder.getFiles(ignoreMe);
于 2013-10-29T16:35:45.197 回答