首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何递归比较节点中的两个目录

如何递归比较节点中的两个目录
EN

Stack Overflow用户
提问于 2017-07-27 11:38:18
回答 2查看 1.9K关注 0票数 5

我想对两个目录和子文件夹中的所有文件进行比较。两个目录的文件夹结构相同,文件可能不同。称它们为目录A和目录B。

从该id创建目录C和目录D。B中比A新的或A中找不到的所有文件都应复制到C中。在A中找到的B中缺少的文件应复制到目录D中。

我喜欢使用node和一个库,或者运行一些其他的CLI工具,比如git,它们可能不需要太多的努力就可以完成我所描述的事情。

有什么好的方法可以做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2017-07-27 11:46:49

以两个数组的形式获取两个目录的文件名列表,然后找出它们之间的差异。

代码语言:javascript
运行
复制
const _ = require('lodash');
const fs = require('fs');

const aFiles = fs.readdirSync('/path/to/A');
const bFiles = fs.readdirSync('/path/to/B');

_.difference(aFiles, bFiles).forEach(v => {
    // Files missing from B that are found in A should be copied to directory D
    // Move file v to directory D
});


_.difference(bFiles, aFiles).forEach(v => {
    // Files missing from A that are found in B should be copied to directory C
    // Move file v to directory C
});
票数 5
EN

Stack Overflow用户

发布于 2020-10-31 22:24:25

有一个名为dir-compare的npm包

代码语言:javascript
运行
复制
const dircompare = require('dir-compare');

const options = { compareSize: true };
const path1 = "dir1";
const path2 = "dir2";

const res = dircompare.compareSync(path1, path2, options)
console.log(res);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45340955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档