我想在.json
中重命名node.js
文件,此文件是动态生成的,位于/export
文件夹中。该文件将始终以contentful-export-XXX.json
开头.XX文件可能不同,并且其位置包含随机数字和字母。事先无法知道完整的文件名。因此,我想将文件重命名为contentful-export.json
而不是contentful-export-XXX.json
。我希望这很清楚。
因此,我认为我需要从文件夹export
获取文件名,然后将其插入fs.rename()
,但我不确定如何执行此操作。
答案 0 :(得分: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
}
}
}); `
我没有测试它,但应该是那样的
答案 1 :(得分: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')
})
});
});