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

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.效果



成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值