小黑小波比.遍历目录信息(包括子目录)

var fs =require('fs');	//定义fs
var paths = ".";	//定义path,指路径,其中'.'是当前目录下,然后子目录例如./xx
var total= 0;	//定义常量total,赋值为0.




	var getS = function(file){ 		//定义get函数,用来判断获取到的对象文件类型和目录类型
			total ++;	//如果进入这函数,total自增
		fs.stat(file,function(err,stats){	//fs.stat(文件路径,回调函数(err.fs.Stats对象));/fs.fstat(文件句柄fd,回调函数(err.fs.Stats对象));/fs.lstat(链接路径,回调函数(err.fs.Stats对象));      
			total --;	//自减
			if(stats.isFile()){	//如果判断是否为文件
				console.info(file);	//打印文件
				if (total===0) {  console.log("执行完毕")}	//如果常量total绝对等于0  提示打印执行完毕
			}else{	//如果不是文件进入语句,函数
				zz(file)	//遍历函数方法
			}
		});
	};
	
	function zz(paths){
		total ++;	//自增
		fs.readdir(paths,function(err,files){	//fs.readdir(路径,回调函数(err,fileNameArray));
			total --;	//自减
			if(err) throw err;		//抛出异常
	
			for(var i = 0; i< files.length;i++){ 	//进入循环语句,总长度为目录下的文件数
				
				getS(paths + '/' + files[i]);		//进入方法 并打印
			}
			if(total===0){console.log("执行完毕") }	//循环结束后 提示打印 "执行完毕"
		});
	}
	
	zz(paths);	//以path为参数 调用zz函数
	
	//xtotal:


然后测试node bianli_yibu.js.效果


小黑小波比.遍历目录信息(包括子目录)_第1张图片

成功!

小黑小波比.遍历目录信息(包括子目录)_第2张图片

添加好友

小额赞助

微信
支付宝

小黑小波比.遍历目录信息(包括子目录)_第3张图片

小黑小波比.遍历目录信息(包括子目录)_第4张图片

小黑小波比.遍历目录信息(包括子目录)_第5张图片

小黑小波比.遍历目录信息(包括子目录)_第6张图片

小黑小波比.遍历目录信息(包括子目录)_第7张图片

小黑小波比.遍历目录信息(包括子目录)_第8张图片

小黑小波比.遍历目录信息(包括子目录)_第9张图片

小黑小波比.遍历目录信息(包括子目录)_第10张图片

小黑小波比.遍历目录信息(包括子目录)_第11张图片

小黑小波比.遍历目录信息(包括子目录)_第12张图片

你可能感兴趣的:(ubuntu,nodejs,遍历目录,小黑小波比)