javascript - 使用 javascript 将文件从 2 个不同的文件夹复制到新文件夹的最佳方法是什么?

标签 javascript node.js

我正在设置一个程序,该程序将检查两个不同的文件夹并将所有文件复制到第三个文件夹中。对我来说,问题是如何在没有名字的情况下复制它们?

var fs = require("fs");

fs.renameSync("/home/oem/git/test/folder1/test1.js", "/home/oem/git/test/folder1/test1CHANGED.js")

console.log("file renamed");

fs.rename("/home/oem/git/test/folder1/test2", "/home/oem/git/test/folder2", function(err){
    if(err)
    {
        console.log(err);
    }
    else
    {
        console.log("file moved successfully");
    }
});

使用上面的代码,我可以移动我手动写入名称的文件,我想以某种方式实现它,它会自动扫描文件夹并将它们更改为另一个文件夹!

最佳答案

这里有一个函数可以帮助你做到这一点

const fs = require('fs');
const path = require('path');

function copyFiles() {
    const firstFolder = 'firstFolder';
    const secondFolder = 'secondFolder';
    const destinationFolder = 'destinationFolder';
    const firstDir = path.join(__dirname, firstFolder);
    const secondDir = path.join(__dirname, secondFolder);
    const destDir = path.join(__dirname, destinationFolder);
    fs.readdir(firstDir, (err, files) => {
        if (err) {
            throw err;
        }
        for (let i = 0; i < files.length; i += 1) {
            fs.copyFile(firstDir + '/' + files[i], destDir + '/' + files[i], function (err) {
                if (err)
                    throw err;
            });
        }

    });
    fs.readdir(secondDir, (err, files) => {
        if (err) {
            throw err;
        }
        for (let i = 0; i < files.length; i += 1) {
            fs.copyFile(secondDir + '/' + files[i], destDir + '/' + files[i], function (err) {
                if (err)
                    throw err;
            });
        }

    });
}

copyFiles();

关于javascript - 使用 javascript 将文件从 2 个不同的文件夹复制到新文件夹的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54685754/

相关文章:

javascript - 单击 "same as shipping address"复选框时隐藏计费部分?

javascript - JSON Split - 在间隔期间将数组文本放入 li 中

javascript - JavaScript shell 和 node.js 的区别

node.js - Mocha 不会等到完成之前

json - 如何从 Node.Js Express 中的发布数据接收(并解码)JSON?

node.js - "forever list"说 "No forever process running"但它正在运行一个应用程序

javascript - 在 Nest.js 中定义 Node 环境

javascript - HTML5从其他页面调用变量

javascript - Leaflet图层,检查feature.properties是否存在

javascript - 获取 Javascript 中其他位置的偏移量