質問:
NodeJSであるフォルダを別のフォルダにコピーして、異なるファイルのみを上書きする方法は?
fs-extraの「コピー」方法について:
fs-extraからのcopyメソッドには、同一のファイル (変更されていないファイル) をスキップするオプションがないようです。
オプションはありoverwrite
ますが、ファイルが同一であってもすべての場合に上書きするか、ファイルが異なっていても上書きしないという選択肢しかありません。
時代遅れの答え。代わりに Reflect の回答を参照してください。
mattijs/node-rsyncとjedrichards/ rsyncwrapperが見つかりました。両方ともうまく機能し、Linux/ Windows */etcで実行されています。
簡単で自由に選択できるようにするために、2 番目のオプションを使用することにしました。
例(Readme に記載されているその他のオプションがあります)
単一ファイル:
rsync({
src: "file.txt",
dest: "tmp/file.txt"
},function (error,stdout,stderr,cmd) {
if ( error ) {
// failed
console.log(error.message);
} else {
// success
}
});
完全なディレクトリ:
rsync({
src: "src-folder/",
dest: "dest-folder",
recursive: true,
exclude: ["*.txt"]
},function (error,stdout,stderr,cmd) {
if ( error ) {
// failed
console.log(error.message);
} else {
// success
}
});