node.js使用fs模块的renameSync方法报错“ EXDEV: cross-device link not permitted, rename ‘F‘ -> ‘G“
异常
当使用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“相关推荐
- php node 目录,node.js基于fs模块对系统文件及目录进行读写操作的方法详解
本文主要介绍了node.js基于fs模块对系统文件及目录进行读写操作的方法,结合实例形式分析了nodejs使用fs模块针对文件与目录的读写.创建.删除等相关操作技巧,需要的朋友可以参考下. 如果要用这 ...
- js处理本地.bin音频文件和node.js的fs模块处理本地.bin音频区别
1.js处理本地.bin文件 <body><input type="file" name="" id="fileInput" ...
- Node.js 初识 fs 模块
fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...
- 利用async和await异步操作解决node.js里面fs模块异步读写,同步结果的问题
async await 解决异步问题,这两个关键字是es7提出的,所以测试,node和浏览器版本提高一些 async await 操作基于promise实现的 async await这两个关键字是一起 ...
- node.js中模块_在Node.js中需要模块:您需要知道的一切
node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...
- 浅析 Node.js 的 vm 模块以及运行不信任代码
为什么80%的码农都做不了架构师?>>> 在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可 ...
- Node.js学习笔记——模块加载机制及npm指令详解
文章目录 二.模块化 1.模块化的基本概念 2.Node.js 中的模块化 Node.js 中模块的分类 加载模块 Node.js 中的模块作用域 向外共享模块作用域中的成员 Node.js 中的模块 ...
- 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 ...
- 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...
最新文章
- matlab绘制离散数据图
- python自定义函数画图_4.1-5 自定义函数
- LinkedBlockingDeque源码
- 中间件(1)分布式缓存
- 宝塔面板怎么下载php,宝塔面板下怎么安装Mosquitto-php扩展
- Redis高可用基石--主从同步
- 为什么不可以使用哈曼顿距离_哈曼卡顿SOUNDSTICKS4全新一代无线水晶蓝牙音箱评测...
- 【MySQL】MySQL 使用where条件的三种方式
- oracle互换2条记录,ORACLE中确定表里哪些行是彼此互换的
- PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
- java数字小游戏_java数字小游戏
- python数据建模与预测_Python建模复习:预测型数据挖掘
- 教室录播系统方案_《课堂教学录播专用教室》建设方案及装备标准
- Java 12 新特性
- C. Get an Even String题解(dp)
- 软件工程北大慕课答案
- 免费网店系统下载地址
- INTERVAL函数的使用
- C语言-文件操作-文件打开方式
- Windows系统怎样配置PHP环境