通过bat批处理,向没有root的手机pull和push文件
2016-12-12 21:01
316 查看
最近写项目的时候偶尔需要取出应用里的文件,做出修改之后再放回去。但是每一次pull和push都需要好几步,虽然每个步骤都能找到现成的命令行,但是反复操作多次之后感觉实在太麻烦了,就摸索了一下怎么写bat和shell。现在终于大功告成,大家可以参考一下~
一个adb shell是一行,由于不知道怎么续行,导致中间有一行有点长,不过无伤大雅。
使用起来也比较简单,举个例子:
其中需要两个参数:
跟上面一个毛病,一行有点长。。。
还是先举个栗子:
仍然是两个参数:
怎么样,使用方法还算简单吧,具体的命令就不讲解了,网上的资料很多,就不班门弄斧了:)
如果有什么问题还请留言告知,谢谢~
1 Push文件
pushFiles.bat:@echo off adb push %2 /sdcard/myPush/%2 adb shell "echo $(dirname %2);fileName=$(basename %2);package=$(pm list package %1);packageName=${package#*package:};echo packageName: $packageName;filePath=$(run-as $packageName find /data/data/$packageName -name $fileName);echo filePath: $filePath;run-as $packageName cp -r /sdcard/myPush/%2 $(dirname $filePath)/;" adb shell "rm -r /sdcard/myPush" pause
一个adb shell是一行,由于不知道怎么续行,导致中间有一行有点长,不过无伤大雅。
使用起来也比较简单,举个例子:
pushFiles MyApp MyApp.db
其中需要两个参数:
MyApp:可以是应用的关键词或者全名,这里我的应用全名是
com.example.MyAppXYZ,只需要MyApp就可以了,因为这样就可以识别出我的APP了。
MyApp.db:可以是文件名或者文件夹名,这里是我应用内部的数据库文件。名字里不能包含路径(就是说
c://MyApp.db这样不行),所以你执行的时候可能需要先把要push的文件和pushFiles.bat放在同一个路径下。还有就是应用内部不能有重名的文件。
2 Pull文件
pullFiles.bat:@echo off adb shell "package=$(pm list package %1);packageName=${package#*package:};echo packageName: $packageName;filePath=$(run-as $packageName find /data/data/$packageName -name *%2*);echo filePath: $filePath;mkdir /sdcard/myPull;run-as $packageName cp -r $filePath /sdcard/myPull/;cd /sdcard/myPull;ls;" adb pull /sdcard/myPull adb shell "rm -r /sdcard/myPull" pause
跟上面一个毛病,一行有点长。。。
还是先举个栗子:
pullFiles MyApp .db
仍然是两个参数:
MyApp:跟上面一样,APP包名的关键字
.db:这个是要pull的文件或文件夹的关键字,这里会把以db结尾的文件都取出来,如果是.xml就是取所有的xml文件。最后会把文件放在pullFiles.bat目录下的myPull文件夹中。
怎么样,使用方法还算简单吧,具体的命令就不讲解了,网上的资料很多,就不班门弄斧了:)
如果有什么问题还请留言告知,谢谢~
相关文章推荐
- adb pull push文件出现Permission denied,明明已经root
- android------adb命令 pull或push手机和电脑文件交互
- 通过试验探索Access 2000/XP 数据库的最佳 NTFS 权限设置Microsoft Jet 数据库引擎打不开文件'D:\wwwroot\test\data\'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
- android------adb命令 pull或push手机和电脑文件交互
- adb pull push文件出现Permission denied,明明已经root
- android------adb命令 pull或push手机和电脑文件交互
- 通过adb push 从电脑里复制文件到手机里
- Android手机root后push一个文件到系统目录时报错adbd cannot run as root in production builds
- 通过adb push 从电脑里拷贝文件到手机里
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)
- Android 手机root后修改文件系统属性
- 如果你用了上千种办法都没有ROOT成功,或者ROOT失败后手机无法连接电脑,请看这里
- 两步学会手机通过wifi获取电脑文件----安卓篇
- 手机通过wifi获取电脑共享的文件----诺基亚远程驱动器篇
- 为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME类型进行设置的原因。那该怎样设置MIME
- 在不root手机的情况下读取Data目录下的文件
- 通过中兴V880内存卡文件修复手机变砖
- 通过包名打开另外一个应用程序和获取手机中已安装apk文件信息(PackageInfo、ResolveIn ...
- 详细信息 - 1: IOR 文件“/tmp/gconfd-root/lock/ior”没有成功打开
- Linux下允许root用户通过FTP上传文件