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目录)
浙公网安备 33010602011771号