node.js - fs rename 找不到文件
问题描述
我有以下代码:
http = require("http");
fs = require("fs");
http.createServer(function(req, res) {
fs.rename("anewfile.txt", "/folder/anewfile.txt", function(err) {
if (err) {
console.log(err);
}
console.log("Moved file");
});
}).listen(8000);
我希望它将与我的程序位于同一目录中的文件“anewfile.txt”移动到一个名为“文件夹”的文件夹中,该文件夹也属于同一目录。但是我收到“找不到文件”错误。
解决方案
用作path.join(__dirname, "anewfile.txt")
源名称而不是"anewfile.txt"
.
问题是您很可能从源代码所在的目录中运行脚本。传递给的文件名fs.rename
是相对于当前工作目录解析的process.cwd()
,而不是源模块的位置__dirname
。仅用require
作__dirname
其基础。
推荐阅读
- python - 使用 beautifulsoup 从运动参考中解析数据
- java - WPF 中的 Java 可观察对象?
- javascript - 重新加载禁用工具提示
- r - 我创建了图表,显示该曲线的形状如何随着处理时间 (h) 和攻击率 (a) 的变化而变化,但看起来并不正确
- android - Gradle 同步意外失败
- android - Hilt 依赖注入错误找不到符号
- mongodb - 在 $project 聚合管道 MongoDB 中的 $nin
- azure - Azure DevOps - 在 Azure YAML 管道的 React 构建中删除文件夹为空
- html - HTML textarea 更改引号使代码不起作用
- css - 使用页面缩放缩放线性渐变