双十一放价活动 活动时间 11.1-11.11,首月 15 元起 极速云手机
首页 功能 资讯 介绍 教程 活动专区 免费下载体验

云手机怎么批量导出截图:ADB 三条命令够用

先说结论:批量导出截图不用装第三方工具,ADB 三条命令就够。前提是实例已开 ADB 调试、本机装好 platform-tools,adb devices 能看到 5555 那台。单张用 screencap 加 pull,批量用 for 循环按序号命名,整个目录一次 pull 下来。先跑通单张再上循环,出问题好定位。全程用同一个命令行窗口,别开两个。配置 10 分钟能做完,之后每批 20 张大约 30 秒。

云手机 ADB 批量导出截图教程

一、前提:三样东西先到位

实例侧的 ADB 调试要开着。开关没打开,命令发过去也没有回应,先回控制台把它打开,端口记下来,默认 5555。

本机装 platform-tools,解压后把目录加进 PATH。Windows 用 PowerShell 或 cmd,macOS 和 Linux 直接开终端,命令完全一样。PATH 没配对时命令会提示找不到 adb,加完记得重开一个终端窗口。

验证只有一步:adb devices,列表里出现你的 IP:5555 并且状态是 device 才算通。显示 unauthorized 是实例那边没点授权,去云机桌面点允许;显示 offline 先 adb disconnect 再重连。

二、三条命令,从单张到批量

单张截图分两步,云端抓图、本地接收。抓图存到 /sdcard/shot.png,pull 拉回当前目录,整个过程两秒左右。

批量用 for 循环,按序号命名,同名会覆盖,所以序号必须变。想再稳一点就带时间戳,date 变量每次执行结果都不同,一天跑几批也撞不上。

# 单张
adb shell screencap -p /sdcard/shot.png
adb pull /sdcard/shot.png ./shot.png

# 循环批量,按序号命名
for i in $(seq 1 20); do
  adb shell screencap -p /sdcard/shot_$i.png
  adb pull /sdcard/shot_$i.png ./shots/shot_$i.png
  sleep 2
done

# 时间戳命名,不会覆盖
name=$(date +%Y%m%d_%H%M%S).png
adb shell screencap -p /sdcard/$name
adb pull /sdcard/$name ./shots/$name
命令干什么容易踩的坑
screencap -p抓当前屏幕存到云端漏了 -p,图是坏的
adb pull把文件拉回本地本地目录不存在会报错
for + seq连续抓多张不 sleep 会抓到同一帧
date 变量时间戳命名连拍太快可能重名

三、一次拉整个目录,比逐张快

截图多的时候别一张张 pull。先在云端统一存进一个目录,再整目录拉一次,adb pull 会把里面的文件全带回来。

adb shell mkdir -p /sdcard/screens
adb pull /sdcard/screens/ ./shots

拉完按修改时间排一眼,缺张就补。批量开始前把云端目录清空,上一批的旧图混进来,回头分不清哪张是哪次的。文件名带上实例编号,本地一眼能认出是哪台机器出的。

四、批量前先清存储

截图占空间比想得快。一张 1080P 的 PNG 大概 1 到 2MB,200 张就是两三百 MB。实例磁盘吃紧之后 screencap 会直接失败,报的错还跟存储没关系,容易查偏。

做法简单:每批开始前清空 /sdcard/screens,拉完立刻删云端原件。删之前看准路径,rm -rf 敲错目录就麻烦。

多开的时候每台实例的截图目录是分开的,本地接收也别用同一个目录,会互相覆盖。按实例编号建子目录,一台一个,台账可以照多开账号托管来记,分目录的做法见多开流程怎么排。台数怎么配,对着六档价格全表对一遍就够了。

Q:adb 连不上,一直 timeout 怎么办?
A:先确认实例的 5555 端口放行,再看本机防火墙。状态显示 unauthorized 不是连不上,是实例那边没点授权,去云机桌面点允许即可。

Q:拉下来的文件是 0 字节?
A:多半是云端路径写错,或者 screencap 还没写完就 pull 了。先 adb shell ls 看文件在不在、大小正不正常,再加 sleep 2 重试。

Q:截图是空白的?
A:常见于系统缺中文字体,界面上的字渲染不出来,图就成了白底。换个语言环境或者换一台实例再看,别急着改命令。

相关内容