process.argv
复制文件用命令行操作,假设主文件为main.js
,需要将a.txt
复制到b.txt
中,则使用下面的命令:
node main.js a.txt b.txt
而main.js
文件为:
console.log(process.argv);
var fs = require('fs');
function copy(src, dst) {
fs.writeFileSync(dst, fs.readFileSync(src));
}
function main(argv) {
copy(argv[0], argv[1]);
}
main(process.argv.slice(2));
可见argv[2]
和argv[3]
分别是源路径和目标路径,
执行命令:
node main.js a.txt b.txt
打印process.argv
:
[ 'C:\\Program Files\\nodejs\\node.exe',
'C:\\Users\\**\\WebstormProjects\\after1031\\process\\main.js',
'a.txt',
'b.txt' ]
分别为node、文件路径、输入的参数;
复制大文件
一次性复制大文件内存可能会崩,因此要用字节流的方式:
var fs = require('fs');
function copy(src, dst) {
fs.createReadStream(src).pipe(fs.createWriteStream(dst));
}
function main(argv) {
copy(argv[0], argv[1]);
}
main(process.argv.slice(2));