异常

当使用fs模块的renameSync()方法时报错如下:

Error: EXDEV: cross-device link not permitted, rename 'F:\trash.conf' -> 'G:\Trash\trash.conf'
?[90m    at Object.renameSync (node:fs:980:3)?[39mat Object.<anonymous> (F:\Pre_Coding\Pre_WebStorm_Project\linux-trash-nodejs\trash.js:31:25)
?[90m    at Module._compile (node:internal/modules/cjs/loader:1097:14)?[39m
?[90m    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)?[39m
?[90m    at Module.load (node:internal/modules/cjs/loader:975:32)?[39m
?[90m    at Function.Module._load (node:internal/modules/cjs/loader:822:12)?[39m
?[90m    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)?[39m
?[90m    at node:internal/main/run_main_module:17:47?[39m {errno: ?[33m-4037?[39m,syscall: ?[32m'rename'?[39m,code: ?[32m'EXDEV'?[39m,path: ?[32m'F:\trash.conf'?[39m,dest: ?[32m'G:\Trash\trash.conf'?[39m
}Node.js v17.1.0

错误代码

var fs = require('fs');
fs.renameSync('F:\trash.conf', 'G:\Trash\trash.conf');

原因

这是跨区重命名文件出现的权限问题,错误代码中从F盘剪切文件到G盘属于跨区。

解决

先将源文件拷贝到另外分区的目标文件,然后再使用unlink删除源文件。

正确代码

var fs = require('fs');
var deletedFilePath = 'F:\trash.conf';
var trashFilePath = 'G:\Trash\trash.conf';
var rs = fs.createReadStream(deletedFilePath);
var ws = fs.createWriteStream(trashFilePath);
rs.pipe(ws);
rs.on('end', function () {fs.unlinkSync(deletedFilePath);
});

node.js使用fs模块的renameSync方法报错“ EXDEV: cross-device link not permitted, rename ‘F‘ -> ‘G“相关推荐

  1. php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解

    本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...

  2. js处理本地.bin音频文件和node.js的fs模块处理本地.bin音频区别

    1.js处理本地.bin文件 <body><input type="file" name="" id="fileInput" ...

  3. Node.js 初识 fs 模块

    fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...

  4. 利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题

    async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些 async await 操作基于promise实现的 async await这两个关键字是一起 ...

  5. node.js中模块_在Node.js中需要模块:您需要知道的一切

    node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...

  6. 浅析 Node.js 的 vm 模块以及运行不信任代码

    为什么80%的码农都做不了架构师?>>>    在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可 ...

  7. Node.js学习笔记——模块加载机制及npm指令详解

    文章目录 二.模块化 1.模块化的基本概念 2.Node.js 中的模块化 Node.js 中模块的分类 加载模块 Node.js 中的模块作用域 向外共享模块作用域中的成员 Node.js 中的模块 ...

  8. Node.js(一、Node.js基础、模块加载机制、包等)

    Node.js(一.Node.js基础.模块加载机制.包等) 1.Node.js基础 1.1.Node是什么 1.2.Node环境安装失败解决方法 1.2.1.Node环境搭建 1.2.2.错误代码2 ...

  9. 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」

    先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...

最新文章

  1. matlab绘制离散数据图
  2. python自定义函数画图_4.1-5 自定义函数
  3. LinkedBlockingDeque源码
  4. 中间件(1)分布式缓存
  5. 宝塔面板怎么下载php,宝塔面板下怎么安装Mosquitto-php扩展
  6. Redis高可用基石--主从同步
  7. 为什么不可以使用哈曼顿距离_哈曼卡顿SOUNDSTICKS4全新一代无线水晶蓝牙音箱评测...
  8. 【MySQL】MySQL 使用where条件的三种方式
  9. oracle互换2条记录,ORACLE中确定表里哪些行是彼此互换的
  10. PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
  11. java数字小游戏_java数字小游戏
  12. python数据建模与预测_Python建模复习:预测型数据挖掘
  13. 教室录播系统方案_《课堂教学录播专用教室》建设方案及装备标准
  14. Java 12 新特性
  15. C. Get an Even String题解(dp)
  16. 软件工程北大慕课答案
  17. 免费网店系统下载地址
  18. INTERVAL函数的使用
  19. C语言-文件操作-文件打开方式
  20. Windows系统怎样配置PHP环境

热门文章

  1. 使用LIRe来实现基于多特征描述符的图像检索系统
  2. git detached head解决方法
  3. MongoDB之——Capped Collection
  4. 数据帧、IP数据包、TCP、UDP报文格式详解----网络通信原理
  5. 【Anki】在Ankidroid上显示数学公式
  6. 零售终端,新零售的未来
  7. vr虚拟展馆|在线3d展厅营销解决方案
  8. 计算机主板扣板组装,铝扣板安装步骤-铝扣板安装方法【技术参数】
  9. php bearer token,接口认证方式:Bearer Token
  10. 前端需要了解的计算机网络知识, 这一篇就够了!(图文并茂,万字长文!)