bat命令执行adb截屏指定设备以及保存

参考:
CMD命令行接收用户输入信息
利用bat命令实现adb截屏以及保存, 在这篇文章的基础上添加了输入设备Id的功能
不要成为自己厌恶的那一类人

执行效果:
在这里插入图片描述

@echo off
color a
chcp 65001
title 截屏
echo=
adb devices
set devicesid=
set /p devicesid=请输入设备id:
rem 按照时间拼接文件名称,因为小时可能只有一位,因此_后面的小时只有一位数.
set YYYYmmdd=%date:~3,4%%date:~8,2%%date:~11,2%
set hmmss=%time:~1,1%%time:~3,2%%time:~6,2%
set "filename=%YYYYmmdd%_%hmmss%.png"
rem 截屏保存在手机的位置
set screen=/sdcard/screen.png
rem adb截屏
adb -s %devicesid% shell screencap -p %screen%
echo "adb -s %devicesid% shell screencap -p %screen%"
rem 指定文件夹名称
set dir=E:\Desktop\
rem 创建文件夹
if not exist %dir% (    
    md %dir%
) 
rem adb导出文件
adb -s %devicesid% pull %screen% %dir%%filename%
echo adb -s %devicesid% pull %screen% %dir%%filename%
echo=
echo=
echo 截屏目录:%dir%   截屏图片:%filename%
echo=
echo=
pause

更新当有一台设备的时候不需要输入deviceid:
是根据adb devices命令执行结果的行数来判断的

@echo off
color a
chcp 65001
title 截屏
echo=
rem adb devices
set /a number=0
for /F %%i in ('adb devices') ^
do (
    echo %%i
    set /a number=number+1
)
echo %number%
set devicesid=
if %number% GEQ 3 (set /p devicesid=请输入设备id:)
rem 按照时间拼接文件名称,因为小时可能只有一位,因此_后面的小时只有一位数.
set YYYYmmdd=%date:~3,4%%date:~8,2%%date:~11,2%
set hmmss=%time:~1,1%%time:~3,2%%time:~6,2%
set "filename=%YYYYmmdd%_%hmmss%.png"
rem 截屏保存在手机的位置
set screen=/sdcard/screen.png
rem adb截屏
if %number% GEQ 3 (adb -s %devicesid% shell screencap -p %screen%) else (adb shell screencap -p %screen%)
rem 指定文件夹名称
set dir=E:\Desktop\
rem 创建文件夹
if not exist %dir% (    
    md %dir%
) 
rem adb导出文件
if %number% GEQ 3 (adb -s %devicesid% pull %screen% %dir%%filename%) else (adb pull %screen% %dir%%filename%)
echo=
echo=
echo 截屏目录:%dir%   截屏图片:%filename%
echo=
echo=
pause

猜你喜欢

转载自blog.csdn.net/qq_41359651/article/details/120283241
今日推荐