1.使用fs復制文件
使用fs對象的readFileSync,writeFileSync方法進行讀寫操作復制
cp.js
function copyIt(from, to) {
fs.writeFileSync(to, fs.readFileSync(from));
//fs.createReadStream(src).pipe(fs.createWriteStream(dst));大文件復制
}
copyIt(from.js,to.js);
這樣就可以復制from.js到to.js
2.使用linux命令復制文件
- 這里使用了process對象,process對象是一個node的全局對象,可以直接使用,
process.argv屬性可以獲取當前執行的node命令的參數,這樣我們可以通過傳遞文件路徑來復制 - child_process 可以執行linux命令
cp2.js
//獲取node執行的參數
var arguments = process.argv.splice(2);
console.log(process.argv);
var child_process = require('child_process');
function copyIt(from, to) {
child_process.spawn('cp', ['-r', from, to]);
}
copyIt(arguments[0],arguments[1]);
運行
$ node cp2.js from.js to.js
這樣同樣復制了from.js文件,linux的cp -r是遞歸復制整個文件夾,所以這個方法也可以復制文件夾
注:process.argv輸出的是當前執行的命令的所有參數組合的數組 所以用splice取后兩個我們需要的