2017-04-11 92 views
-1

我想重命名一個.json文件node.js這個文件是動態生成的,位於文件夾/export。該文件將始終以contentful-export-XXX.json開頭。XXX可能在文件上有所不同,並且在其位置上具有隨機數字和字母。預先知道完整的文件名是不可能的。因此,我想將該文件重命名爲contentful-export.json而不是contentful-export-XXX.json。我希望這很清楚。重命名.json文件node.js

因此,我相信我需要從文件夾export中獲取文件名,然後將其插入到fs.rename()中,但我不確定如何執行此操作。

回答

0

您可以使用正則表達式(正則表達式)。我認爲這將匹配:

/contentful-export-[a-z]*[A-Z]*[0-9]*.json/g

所以,如果你讓你的文件的列表,並查看哪些文件此正則表達式匹配,你可以將其重命名。

` fs.readdir(path, function(err, items) { 
    for (var i=0; i<items.length; i++) { 
     if(item[i].match(/contentful-export-[a-z]*[A-Z]*[0-9]*.json/g){ 
     //do the rename 
     } 
    } 
    }); ` 

我還沒有測試,但應該是類似的東西

+0

您能否提供一個獲取文件列表並查看它是否匹配的例子。 – JBd

+0

我編輯了我的答案 –

0

很可能使用fs.readdir讓你export目錄內的文件列表,然後將該文件與fs.rename

重命名恩。

fs.readdir('/export', function(error, list) { 
    if (error) throw error; 

    list.forEach(function(file) { 
     if (file.includes('contentful-export-') { 
      fs.rename('/export/' + file, '/export/contentful-export.json') 
     }) 
    }); 
});