node.js - 多个文件移动到 NodeJS 中的另一个目录
问题描述
我想将多个文件从源目录移动到目标目录。
我尝试了多个包,但它移动了文件夹本身。但我想将源目录中包含的文件移到目标目录中。
mv('/opt/output/', '/opt/sentFiles' ,function(err) {
var destination = path.join( '/opt/sentFiles',files[i])
});
我尝试了 child_process 然后 mv 包。mv 包正在工作,但是。它将源文件夹本身移动到目标文件夹。实际上我想从源文件夹 exp output/* sentfile/* 中移动文件
解决方案
您可以使用模块简单地实现这一点fs
,理想情况下,您所要做的就是使用重命名功能表单fs
模块。还有一个同步版本renameSync。
根据您的要求,您所要做的就是获取您希望移动的文件列表并循环移动(重命名)它们。
以下是我尝试移动单个文件的简单测试代码:
var fs = require('fs');
// Assuming all files are in same folder
let files = ['test1.txt', 'test2.txt', 'test3.txt'];
// I am using simple for, you can use any variant here
for (var i = files.length - 1; i >= 0; i--) {
var file = files[i];
fs.rename('./source/' + file, './dest/' + file, function(err) {
if (err) throw err;
console.log('Move complete.');
});
}
//-------------------------- OUTPUT --------------------------
// Directory Structure Before Move
.
├── dest
├── index.js
├── package.json
└── source
├── test1.txt
├── test2.txt
└── test3.txt
// Directory Structure After Move
.
├── dest
│ ├── test1.txt
│ ├── test2.txt
│ └── test3.txt
├── index.js
├── package.json
└── source
希望能帮助到你!
推荐阅读
- javascript - 当我在 D3.js 中通过 MySQL 提供多个根时,如何停止错误?
- java - 如何使用 iText7 正确地将 Java unicode 字符串转换为 PDF 字符串对象?
- flutter - 如何将 ListView 添加到列?
- javascript - 我将如何使它嵌入 roblox 链接
- jenkins - 如何使用 Jenkins API 卷曲 jenkins 实例中所有节点的名称?
- javascript - SharePoint 嵌入式 PowerBI 报表 - 如何从我们创建的另一个 Web 部件获取报表 JavaScript 对象
- r - 绘制多个网络,其中节点宽度在每个网络中缩放相同?
- arrays - 仅当列具有数据且特定列在 Google 表格中具有特定值时,才能从另一个工作表中自动填充列
- unity3d - 如何检查悬停持续多长时间?
- powershell - 将 Powershell 脚本编译为解释代码