本文介绍了node.js用fs.rename强制重命名或移动文件夹的方法,首先介绍了rename的用法,具体如下:
【重命名文件夹】
// rename.js
var fs = require("fs");
// 重命名a文件夹为b
fs.rename("c:a","C:b",function(err){
if(err){
console.log("重命名失败!");
}else{
console.log("重命名成功!");
}
});
[注意:文件夹不存在,那么err就会有错误信息。]
在日常对电脑中的一些的文件或者文件夹操作的时候,windows系统可能会弹出相应的对话框,提示我们文件或者文件夹无法重命名。这是由于文件或者文件夹中的文件被系统某些正在运行的进程占用的。我们可以找到占用文件的进程将其结束掉,然后重命名文件或者文件夹。但是这个过程相对麻烦,难度用编程实现。
并且在node.js中进行大量重命名操作时,也会偶尔出现权限的问题,解决方案很简单,使用同步命名,添加一个try/ catch 即可。
try {
fs.renameSync(oldPath, newPath);
}
catch (e) {
fs.renameSync(oldPath, newPath);
}
在 win10/node.6.15下有测试有效