2013-10-29 39 views
0

我試圖讓我的javascript忽略一個文件類型擴展名,它與一堆photoshop圖像保存在一個文件夾中。對於文件夾中的所有其他文件類型,我擁有它們以便這些文件類型填充一個窗口,並且用戶可以將它們導入到其工作空間中。Javascript忽略所有文件而不是一個

我修改了我的腳本來忽略我想要忽略的文件擴展名,但它不再使用包含在文件夾中的所有其他文件類型填充窗口。但是,當我從文件夾中取出要忽略的文件時,該窗口會按照它應該填充的方式填充。

這是我在來檢查我的文件夾中的文件類型的時刻:

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

然而,這種新的代碼出現了一個新問題,它返回文件夾中包含的每個文件並顯示它。

我仍然難倒我如何才能讓這個工作,因爲我想。請任何人都可以幫我嗎?

回答

0

管理得到解決此問題。

我最終做的是創建一個新函數,並將其傳入我的調用中以檢查文件夾位置。

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

和文件夾的檢查:

var fileList = samplesFolder.getFiles(ignoreMe); 
1

您正在創建一個稀疏數組,因爲當您忽略fileList中的文件名時,跳過renderTypes中的元素。這可能會混淆你的渲染代碼。更改爲:

renderTypes.push(fileList[i].name); 
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. 不必要地使用「繼續」。
+0

謝謝你的答案。但是,我嘗試了這一點,它只會提示它跳過的文件。 – N0xus

+0

對不起,我忘了改變狀態。我的錯! – opalenzuela

+0

再一次,感謝您的編輯,但現在它沒有任何結果。該窗口是空的,文件夾中有文件供我測試。 – N0xus

相關問題