我试图弄清楚我认为应该是一个非常简单的脚本,但是它似乎对我没有用。 我有一个数百个文件的列表,这些文件的名称很难读,我想尝试将其重命名为更易于组织和理解的文件。 我需要做的是获取目录中所有文件的列表,循环浏览每个文件,获取其文件名,进行一些正则表达式搜索以从文件名中获取一些信息,然后使用该信息生成新的文件名并重命名文件,然后将其移动到另一个目录(这样,在脚本完成后,旧目录为空,新目录中充满了新重命名的文件)
文件名有一种模式,可以很容易地与正则表达式匹配,以捕获生成新文件名所需的数据。我只需要知道如何获取每个文件,将其文件名读入变量,对其进行处理,然后使用数据来重命名该文件即可。
答案 0 :(得分:2)
您可以使用fs.readdir来读取目录中的文件,然后使用fs.rename重命名它们。
const fs = require("fs")
// Read directory
fs.readdir("./", (err, files) => {
// Cicle files on current folder
for (const file of files) {
// Test regular expression
if (/[A-Z]/g.test(file)) {
// Add more logic to rename file
fs.rename(file, 'newFile.txt', (err) => {
console.log('Renaming', file, "to", "newFile.txt")
if (err) throw err
})
}
}
})