js实现重命名
重命名文件或文件夹
使用JavaScript重命名文件或文件夹通常依赖于运行环境,例如Node.js或浏览器。以下是不同场景下的实现方法。
Node.js环境
在Node.js中,可以使用fs模块的rename或renameSync方法重命名文件或文件夹。
const fs = require('fs');
// 异步重命名
fs.rename('oldName.txt', 'newName.txt', (err) => {
if (err) throw err;
console.log('重命名成功');
});
// 同步重命名
try {
fs.renameSync('oldName.txt', 'newName.txt');
console.log('重命名成功');
} catch (err) {
console.error(err);
}
浏览器环境
浏览器中无法直接重命名本地文件,但可以通过用户交互(如文件输入)模拟重命名效果。
// 假设用户通过input选择文件
document.getElementById('fileInput').addEventListener('change', (event) => {
const file = event.target.files[0];
const newName = prompt('输入新文件名', file.name);
if (newName) {
const renamedFile = new File([file], newName, { type: file.type });
console.log('重命名为:', renamedFile.name);
}
});
重命名对象属性
如果需要重命名对象的属性名,可以通过以下方式实现。
const obj = { oldName: 'value' };
// 方法1:直接赋值并删除旧属性
obj.newName = obj.oldName;
delete obj.oldName;
// 方法2:使用解构赋值
const { oldName: newName, ...rest } = obj;
const renamedObj = { newName, ...rest };
console.log(renamedObj); // { newName: 'value' }
动态重命名变量
JavaScript中无法直接重命名变量,但可以通过重新赋值实现类似效果。
let oldName = 'value';
let newName = oldName;
oldName = null; // 可选:清除旧变量
console.log(newName); // 'value'
注意事项
- Node.js中重命名文件时需确保路径正确且具有权限。
- 浏览器中无法直接操作本地文件系统,需依赖用户交互。
- 对象属性重命名不会影响原始对象的引用,需手动更新相关引用。







