autojs pro枚举遍历文件夹的源码分享

// 此代码由飞云脚本圈www.feiyunjs.com整理提供
function getFilesFromPath(path) {
    /*格式:H.getFilesFromPath(文件夹路径)*/
    /*解释:获取文件夹所有文件和文件夹 递归遍历 返回文件路径数组*/
    var arrDir = new Array();
    var arrFile = new Array();
    try {
        var rp = /^([/][^\/:*?<>|]+[/]?)+$/;
        if (rp.test(path) == false) throw "非法文件路径,H.getFilesFromPath(?);" + path;
    } catch (err) {
        log(err);
        exit();
    }
    /*获取path目录下所有文件夹和文件*/
    var arr = files.listDir(path);
    /*遍历文件和文件夹*/
    for (var i = 0; i < arr.length; i++) {
        /*连接路径*/
        newPath = files.join(path, arr[i]);
        /*判断路径类型*/
        if (files.isDir(newPath)) {
            arrDir.push(newPath);
            /*递归遍历文件夹*/
            var arrF = getFilesFromPath(newPath);
            arrDir = arrDir.concat(arrF);
        } else if (files.isFile(newPath)) {
            arrFile.push(newPath);
        }
    }
    /*按字母升序排序数组*/
    arrDir.sort();
    arrFile.sort();
    /*连接数组并返回*/
    return arrDir.concat(arrFile);
}

说明

本文提供的代码仅供参考。不建议用于生产环境。
可能有些地方在最新版本的Auto.js上面需要做修改,才能运行。

Auto.js简介

Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。
与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。

Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。

推荐教程

Auto.js Pro安卓全分辨率免ROOT引流脚本开发视频教程(HD超清1080p)

开发文档

Auto.js Pro开发文档
文档尚在完善中,可能有文档描述和代码实际行为有出入的情况。

为什么要使用Auto.js Pro开发脚本,有什么特点?

吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:

  • Auto.js Pro能开发免ROOT的安卓脚本
  • Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型
  • Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面
  • Auto.js Pro使用的javascript的语法比较优雅,代码可读性强
  • Auto.js Pro的命令库非常的丰富,接口比较多
  • Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告

你可能感兴趣的:(脚本源码)