js实现重命名
使用 JavaScript 重命名文件或对象
在 JavaScript 中,重命名的操作通常涉及文件系统(如 Node.js)或对象属性修改。以下是几种常见场景的实现方法:
重命名文件(Node.js 环境)
使用 fs 模块的 rename 或 renameSync 方法可以实现文件重命名:

const fs = require('fs');
// 异步重命名
fs.rename('oldFile.txt', 'newFile.txt', (err) => {
if (err) throw err;
console.log('文件重命名成功');
});
// 同步重命名
try {
fs.renameSync('oldFile.txt', 'newFile.txt');
console.log('文件重命名成功');
} catch (err) {
console.error(err);
}
重命名对象属性
通过删除旧属性并添加新属性来实现对象属性的重命名:

const obj = { oldName: 'value' };
// 方法1:直接赋值后删除
obj.newName = obj.oldName;
delete obj.oldName;
// 方法2:使用解构赋值
const { oldName, ...rest } = obj;
const newObj = { ...rest, newName: oldName };
批量重命名文件(Node.js)
结合 fs.readdir 和正则表达式实现批量重命名:
const fs = require('fs');
const path = require('path');
const directory = './files';
fs.readdir(directory, (err, files) => {
files.forEach(file => {
const newName = file.replace(/\d+/g, 'prefix_$&');
fs.rename(
path.join(directory, file),
path.join(directory, newName),
(err) => { if (err) console.error(err); }
);
});
});
浏览器端文件名修改
通过文件输入框获取文件后修改显示名称(实际文件需上传至服务器处理):
<input type="file" id="fileInput" />
<script>
document.getElementById('fileInput').addEventListener('change', (e) => {
const file = e.target.files[0];
const renamedFile = new File([file], 'new_name.txt', { type: file.type });
console.log(renamedFile.name); // 输出: new_name.txt
});
</script>
注意事项
- 文件操作需确保路径正确且有足够权限
- 异步方法推荐使用
fs.promises.rename的 Promise 版本 - 浏览器端无法直接修改本地文件系统,需通过服务器交互实现实际重命名






