web-dev-qa-db-ja.com

Node fs fs copy a folder

Node fsモジュールを使用してフォルダをコピーしようとしています。readFileSync()およびwriteFileSync()メソッドに精通していますが、指定したフォルダをコピーするにはどの方法を使用すればよいですか?

11
y. lu

fs-extra を使用して、次のように1つのフォルダーの内容を別のフォルダーにコピーできます

var fs = require("fs-extra");

fs.copy('/path/to/source', '/path/to/destination', function (err) {
  if (err) return console.error(err)
  console.log('success!')
});

同期バージョンもあります。

18
user3248186

ncp パッケージをチェックアウトすることをお勧めします。それはまさにあなたがやろうとしていることをします。パスから別のパスにファイルを再帰的にコピーします。

ここにあなたが始めるためのものがあります:

const fs = require("fs");
const path = require("path");
const ncp = require("ncp").ncp;
// No limit, because why not?
ncp.limit = 0;

var thePath = "./";
var folder = "testFolder";
var newFolder = "newTestFolder";

ncp(path.join(thePath, folder), path.join(thePath, newFolder), function (err) {
    if (err) {
        return console.error(err);
    }
    console.log("Done !");
});
1
fdrobidoux

エレガントな構文があります。 pwd-fs モジュールを使用できます。

const FileSystem = require('pwd-fs');
const pfs = new FileSystem();

async () => {
  await pfs.copy('./path', './dest');
}
0