nodejs 批量修改文件名
时间: 2024-09-03 16:05:09 浏览: 118
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让 JavaScript 能够脱离浏览器在服务器端运行。Node.js 自带的文件系统模块 `fs` 可以帮助开发者进行文件操作。批量修改文件名可以通过 `fs` 模块提供的 `rename` 方法来实现。以下是一个使用 Node.js 批量修改文件名的基本示例:
```javascript
const fs = require('fs');
const path = require('path');
// 假设我们要将当前目录下所有的 .txt 文件修改为 .md 文件
const files = fs.readdirSync('.');
files.forEach((file) => {
if (path.extname(file) === '.txt') {
// 原文件名
const oldPath = path.join(process.cwd(), file);
// 新文件名,这里将 .txt 改为 .md
const newPath = oldPath.replace('.txt', '.md');
// 执行重命名操作
fs.rename(oldPath, newPath, (err) => {
if (err) {
console.error('文件重命名出错:', err);
} else {
console.log(file + ' has been renamed to ' + path.basename(newPath));
}
});
}
});
```
在上述代码中,我们首先读取当前目录下的所有文件,然后检查每个文件的扩展名。如果文件扩展名为 `.txt`,我们就将其重命名为 `.md`。这里使用 `readdirSync` 方法同步读取目录内容,使用 `join` 方法来构造完整的文件路径,并使用 `replace` 方法来生成新的文件名。最后,调用 `rename` 方法来完成重命名操作。
需要注意的是,错误处理在这里是非常重要的。如果在重命名过程中发生错误(如文件不存在、权限不足等),`rename` 方法的回调函数中会返回错误信息。
阅读全文