最近在本部门工测试工程师的影响下,开始自学批处理,头比较大,尤其是for循环这一部分,学习了有一个星期有余了,目前了解一些简单的语法,于是也尝试做点小小的自动化,算是给自己这种小菜鸟一点鼓励吧!
1、在Windows下查看电脑上的APK信息,包括包名和版本号。有时候测试需要,会要知道该APK的包名和版本号什么的,串口或者ADB敲命令有时候又挺烦的,得连线安装再查看,写个小脚本,把apk放在APK文件夹下,点开脚本,就可以看到信息了,这样还是很舒服的,应付批量的APK都没问题。以下是自己的尝试:
@echo off
Echo [查看APK信息]
Echo ---------------------------------
Rem 进入SDK的build- tools目录下
Cd /d E:\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3
Aapt dump badging C:\Users\lyb\Desktop\apk\*.apk > C:\Users\lyb\Desktop\apk\package.txt
Echo[暂停3秒后将自动退出]
Ping -n 3 127.0.0.1>nul
@echo on
如果仅仅只是需要输出包名和版本号,可以做如下改进,通过查找与package相关字符串并输出该行的所有内容:
@ECHO OFF
ECHO [查看APK包信息]
ECHO -------------------------------
cd /d E:\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\
aapt dump badging C:\Users\lyb\Desktop\apk\*.apk >100.txt
for /f "delims=" %%a in (100.txt) do (
for /f "tokens=1,2* delims=: " %%i in ('call echo %%a^|findstr /i "package"') do echo %%a>"packagename.txt"
)
Copy packagename.txt C:\Users\lyb\Desktop\apk
Del /q 100.txt
Del /q packagename.txt
ECHO [暂停2秒自动关闭...]
ping -n 2 127.0.0.1>nul
@ECHO ON
2、自动登录126邮箱
本人一般用126邮箱作为私人邮箱,懒人吗,时间长了,很烦的,所以写个小批处理,自动一下,节省时间,何乐而不为了!
@echo off
set "var=ziyanchina"
set "num=******"
start "126邮箱登陆中" iexplore.exe "https://reg.163.com/logins.jsp?&username=%var%@126.com&password=%num%&url=http://entry.mail.126.com/cgi/ntesdoor?verifycookie=1"
上面第一个批处理写的有点问题,貌似只能显示一个APK的包名,后来试了老半天才发现是">"写错了,应该是">>",修改了下程序,写成这样:
@ECHO OFF
ECHO [查看APK包信息]
ECHO -------------------------------
cd /d E:\adt-bundle-windows-x86-20130917\sdk\build-tools\android-4.3\
for /R C:\Users\yanfk\Desktop\apk\ %%s in (*.apk) do (
aapt dump badging "%%s" >>100.txt
)
for /f "delims=" %%a in (100.txt) do (
for /f "tokens=2,3* delims=: " %%i in ('call echo %%a^|findstr "package"') do echo %%a>>"packagename.txt"
)
copy packagename.txt C:\Users\yanfk\Desktop
Del /q 100.txt
Del /q packagename.txt
ECHO [暂停2秒自动关闭...]
ping -n 2 127.0.0.1>nul
@ECHO ON
这样可以显示文件夹下所有的APK的包名了