node.jsのバージョン8.5.0以降では、ファイルをコピーする以下の関数を使用できます。
fs.copyFileSync(src, dest[, flags])
fs.copyFileSync()は、srcをdestに同期コピーします。
srcはコピーするファイルのファイル名、
destはコピー先のファイル名です。
flagsはオプションの引数で、fs.constants.COPYFILE_EXCLを指定すると、コピー先にすでにファイルが存在する場合は例外を投げます。
未指定の場合は上書きします。
次のコードはファイルをコピーします。
コピー先にすでにファイルが存在する場合は上書きします。
const fs = require('fs');
const src = 'source.txt';
const dest = 'destination.txt';
fs.copyFileSync(src, dest);
次のコードは、ファイルをコピーします。
コピー先にすでにファイルが存在する場合はエラーにします。
const fs = require('fs');
const src = 'source.txt';
const dest = 'destination.txt';
try {
fs.copyFileSync(src, dest, fs.constants.COPYFILE_EXCL);
console.log('ファイルをコピーしました。');
} catch (error) {
console.log(error);
}
fs.copyFile(src, dest[, flags], callback)
ファイルを非同期でコピーします。
srcはコピーするファイルのファイル名、
destはコピー先のファイル名です。
flagsはオプションの引数で、fs.constants.COPYFILE_EXCLを指定すると、コピー先にすでにファイルが存在する場合は例外を投げます。
未指定の場合は上書きします。
次のコードはファイルをコピーします。
コピー先にすでにファイルが存在する場合は上書きします。
const fs = require('fs');
const src = 'source.txt';
const dest = 'destination.txt';
fs.copyFile(src, dest, (err) => {
if (err) {
throw err;
} else {
console.log('ファイルをコピーしました。');
}
});
次のコードは、ファイルをコピーします。
コピー先にすでにファイルが存在する場合はエラーにします。
const fs = require('fs');
const src = 'source.txt';
const dest = 'destination.txt';
fs.copyFile(src, dest, fs.constants.COPYFILE_EXCL, (err) => {
if (err) {
throw err;
} else {
console.log('ファイルをコピーしました。');
}
});