autojs复制文件和文件夹的例子,安卓免root脚本引擎
说明
本文提供的代码仅供参考。不建议用于生产环境。
可能有些地方在最新版本的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,还没有广告
免责声明
本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途。
示例代码
// 此代码由飞云脚本圈www.feiyunjs.com整理提供
function copy(fromPath, toPath) {/*格式:H.copy(原文件路径,要复制到的路径);*//*解释:复制文件或文件夹 返回是否复制成功*/var rp = /^([/][^\/:*?<>|]+[/]?)+$/;var rp1 = /^([/][^\/:*?<>|]+)+$/;var rp2 = /^([/][^\/:*?<>|]+)+[/]$/;try {if (rp.test(fromPath) == false || files.exists(fromPath) == false) throw "非法原文件地址,H.copy(?,);" + fromPath;if (rp.test(toPath) == false) throw "非法要复制到的路径地,H.copy(,?);" + toPath;if (rp1.test(fromPath) == true && rp1.test(toPath) == false) throw "非法要复制到的地址,H.copy(,?);" + toPath;if (rp2.test(fromPath) == true && rp2.test(toPath) == false) throw "非法要复制到的地址,H.copy(,?);" + toPath;} catch (err) {log(err);exit();}if (rp1.test(fromPath) == true) {/*复制文件*/return files.copy(fromPath, toPath);} else if (rp2.test(fromPath)) {/*复制文件夹*//*获取原文件路径文件和文件夹*/var arr = getFilesFromPath(fromPath);/*遍历文件路径数组*/for (var i = 0; i < arr.length; i++) {/*原文件路径替换成目的路径*/var path = arr[i].replace(fromPath, toPath);/*判断路径类型*/if (files.isDir(arr[i])) {/*创建目的文件夹*/files.createWithDirs(path + "/");} else if (files.isFile(arr[i])) {/*复制文件到目的文件路径*/files.copy(arr[i], path);}}/*获取目的路径文件和文件夹*/var arrToPath = getFilesFromPath(toPath);/*通过对比原文件和目的文件数量来返回是否复制成功*/if (arr.length == arrToPath.length) {return true;} else {return false;}}
}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)) {/*过滤隐藏文件*/if (arr[i].slice(0, 1) != ".") {arrFile.push(newPath);}}}/*按字母升序排序数组*/arrDir.sort();arrFile.sort();/*连接数组并返回*/return arrDir.concat(arrFile);
}
autojs复制文件和文件夹的例子,安卓免root脚本引擎相关推荐
- 基于autojs的安卓免root脚本引擎编写的QQ文字换语言发送全自动脚本
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs安卓免root脚本代码UI选择文件源码
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎开发的取APP当前页面activitys源码
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎编写的本地音乐播放器源代码开源
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎开发的发送通知和去除通知代码,值得参考学习
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎开发的QQ空间说说点赞源码
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎编写的QQ空间点赞脚本源码
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs免root脚本引擎开发的微信群爆粉脚本免费开源分享代码
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
- autojs Pro免root脚本引擎编写的获取本地时间及网络时间验证
说明 本文提供的代码仅供参考.不建议用于生产环境. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能" ...
最新文章
- 【C 语言】数组 ( 数组相关地址 | 数组首元素地址 | 数组地址 )
- 用FTP客户端实现主机和虚拟机之间文件的传输(方法2)
- C和汇编----字符串
- 【HYSBZ - 1192】鬼谷子的钱袋(水题,二进制)
- android tcpdump log分析,android 系统启动过程中加入tcpdump和logcat
- 【AI视野·今日NLP 自然语言处理论文速览 第四期】Wed, 9 Jun 2021
- jQuery——进阶(动画、循环、正则、事件冒泡、事件委托、DOM)
- antd tree搜索并定位_KD-Tree原理详解
- 一看就懂!卡尔曼滤波通俗解释
- ip复原Java_Java实现 LeetCode 93 复原IP地址
- 好文摘记——施一公教授:如何提高专业英语阅读水平
- Games101-课程9笔记
- 在腾讯云上搭建基于Nodejs的网站
- 乐乎常用的html源码,点点网关闭自定义html模板代码功能,网易lofter重新映入眼帘...
- 刚换了Mac本这些快捷键你知道吗?
- Anybackup-7.0.8.0系统配置-授权管理
- ubuntu 内存清理【亲测有效】
- 逻辑强化(09)加强支持 知识练习
- 1174:大整数乘法
- OpenFlow学习笔记(一)——OpenFlow概要和OpenFlow1.0
热门文章
- CODING 企业微信小程序上线了
- 游戏插画、原画常用笔刷和笔刷设置,初学者赶紧收藏起来!
- python2转python3代码_收集python2代码转python3遇到的问题
- 问题日志:解决使用 Spring initializr 创建 Springboot 项目时,`src\main\java` 文件夹没有变为蓝色的问题
- 网课查题制作搜题公众号教程
- python学习笔记(常用库)
- STM32+拨码开关,读取拨码开关电平值并转换成16进制数,一种简洁的编程思路
- 多功能GPS面积测量仪(测亩仪)技术讲座系列之距离测量的算法研究及实现
- 7-11 冰岛人 (25分)
- QT-全键盘支持中英文