0
中的兩個目錄Id喜歡執行兩個目錄和子文件夾內的所有文件的比較。文件夾結構對於這兩個文件可能不同的目錄是相同的。稱它們爲目錄A和目錄B.如何遞歸比較節點
從那個id喜歡創建一個目錄C和目錄D. B中所有比A新或A中找不到的文件都應該複製到C中。在A中找到的B應該複製到目錄D.
我喜歡使用節點和庫或者運行其他CLI工具(如git),也許可以做我沒有太多的努力。
什麼是一些很好的方法來實現這個目標?
中的兩個目錄Id喜歡執行兩個目錄和子文件夾內的所有文件的比較。文件夾結構對於這兩個文件可能不同的目錄是相同的。稱它們爲目錄A和目錄B.如何遞歸比較節點
從那個id喜歡創建一個目錄C和目錄D. B中所有比A新或A中找不到的文件都應該複製到C中。在A中找到的B應該複製到目錄D.
我喜歡使用節點和庫或者運行其他CLI工具(如git),也許可以做我沒有太多的努力。
什麼是一些很好的方法來實現這個目標?
獲取兩個目錄的文件名列表爲兩個數組,然後找到他們之間的區別。
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
});
爲什麼你不跟我們分享你的第一槍?你不應該指望別人提出一個完整的解決方案,而沒有先嚐試自己的東西 – faboolous
我完全理解你的觀點,但沒有尋找一個完整的解決方案,只是一些方法來幫助我開始,並沒有太多的兔子洞。 我是兩個女兒的父親,他們希望有更多的時間,下面的解決方案可以幫助我節省數小時,否則我可能因爲這個特定應用程序缺乏經驗而花費了不少時間。與我的女兒們在一起度過了幾個小時。 –