#!/usr/bin/env node --harmony var fs = require('fs') var path = require('path') var co = require('co') var thunkify = require('thunkify') var cwd = process.cwd() var file = path.join(cwd, 'templates') var dir = thunkify(fs.readdir) var stat = thunkify(fs.stat) function getScreenFile(file){ co(function*(){ var dirs = yield dir(file) for (var i = 0; i < dirs.length; i++) { var filename = path.join(file, dirs[i]) var filestat = yield stat(filename) if (filestat.isDirectory()) { // 如果是文件夹,并且不是隐藏文件,并且不是tile目录的情况下,递归查找 if(filename.indexOf('.') !== 0 && filename.indexOf('tile') === -1) { getScreenFile(filename) } // 找到所有文件名中又screen的文件 } else if (filename.indexOf('screen') > -1) { console.log(filename) } } })() } getScreenFile(file) /** * vim: ft=javascript:tw=80: * requires: co, thunkify */