bat批处理脚本编写总结

@echo off & title doMonkeyTest
set package=com.huawei.it.welink.app
set throttle=300
set times=200000
echo package=%package%   
echo throttle=%throttle%
echo times=%times%
echo ========================================================
echo 请确认以上配置参数是否正确

::循环遍历当前连接的设备

for /f "skip=1" %%n in ('adb devices^|findstr device') do (
adb -s %%n shell "rm -rf /data/system/dropbox/*"

::设置日志缓冲区的大小
adb -s %%n logcat -G 16M

::清除缓冲区里的日志
adb -s %%n logcat -c
)

::调用其他脚本并且传参给他

start "" cmd /k call ./tools/input.bat %package%

::input.bat里直接用%1即可调用该参数

 

::设置循环,直接设定的时间到了再倒计时一分钟,再执行StopTask里的程序

:loop
set "t=%date:~5,2%.%date:~8,2%-%time: =0%"
echo %t:~0,11%
if "%t:~0,11%" geq "07.09-08:33" goto StopTask
timeout /T 60 /NOBREAK > nul
goto loop

 

::倒计时5秒关闭窗口

timeout /T 5 /NOBREAK > nul
taskkill /f /FI "windowtitle eq input"

 

::批处理中的数值比较
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于

 

::对pm list执行获取到的数据按冒号进行分隔,获取第二列,这样就能获取到包名了

for /f "tokens=2 delims=:" %%p in ('adb shell pm list package -3') do (

)

 

::判断变量中是否含有指定字符串,如果有就打印skip没有就执行后面的脚本

echo %whiteList%|findstr %%p>nul && echo skip %%p || (
)

:获取管理员权限

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

:保持当前目录下运行

cd /d "%~dp0"

  

::批处理中需要用到su root权限时,脚本怎么写

adb shell "su -c 'cp -a /tmp /sdcard'"   (将tmp目录的所有文件复制到sdcard里,包括tmp目录)

 

posted on 2020-07-11 11:07  愚哥  阅读(361)  评论(0)    收藏  举报

导航