🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
使用node文件系统完成命令行实现,以作练习: * * * * * #### addfile的实现: ~~~ var fs = require("fs"); function addfile(filename){ fs.open(filename,"wx",function(err,fd){ if(err){ return console.error(err); } console.log("文件创建成功"); fs.close(fd,function(err){ if(err){ return console.error(err); } }); }); } function main(argv){ addfile(argv[0]); } main(process.argv.slice(2)); //创建文件 ~~~ * * * * * #### delfile的实现: ~~~ var fs = require("fs"); function delfile(filename){ fs.unlink(filename,function(err){ if(err){ return console.error(err); } console.log("文件成功删除"); }) } function main(argv){ delfile(argv[0]); } main(process.argv.slice(2)); ~~~ * * * * * #### rename的实现: ~~~ var fs = require("fs"); function rename(oldFileName,newFileName){ fs.rename(oldFileName,newFileName,function(err){ if(err){ return console.error(err); } console.log("重命名成功"); }); } function main(argv){ rename(argv[0],argv[1]); } main(process.argv.slice(2)); ~~~ * * * * * cat的实现: ~~~ var fs = require("fs"); var buf = new Buffer(1024); function cat(filename){ fs.readFile(filename,function(err,data){ if(err){ return console.error(err); } console.log(data.toString()); }); } function main(argv){ cat(argv[0]); } main(process.argv.slice(2)); ~~~ * * * * * echo的实现: ~~~ var fs = require("fs"); function echo(filename,data){ fs.open(filename,"a",function(err,fd){ if(err){ return console.error(err); } fs.write(fd,data+"\n",0,(data+"\n").length,function(err,written,buffer){ if(err){ return console.error(err); } console.log("bytes: "+written); console.log("写入的数据:\n"+buffer.toString()); }); }); } function main(argv){ echo(argv[0],argv[1]); } main(process.argv.slice(2)); ~~~ * * * * * copy的实现: ~~~ 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)); ~~~ * * * * * dir的实现: ~~~ var fs = require("fs"); function dir(){ fs.readdir(".",function(err,files){ if(err){ return console.error(err); } files.forEach(function(file){ console.log(file); }); }); } function main(){ dir(); } main(); ~~~ * * * * * mkdir的实现: ~~~ var fs = require("fs"); function mkdir(dirname){ fs.mkdir(dirname,function(err){ if(err){ return console.error(err); } console.log("目录创建成功"); }); } function main(argv){ mkdir(argv[0]); } main(process.argv.slice(2)); ~~~ * * * * * rmdir的shixian: ~~~ var fs = require("fs"); function rmdir(dirname){ fs.rmdir(dirname,function(err){ if(err){ return console.error(err); } console.log("目录删除成功"); }); } function main(argv){ rmdir(argv[0]); } main(process.argv.slice(2)); ~~~