You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过adb保存多个Android截图?实现按序号命名避免覆盖

解决ADB截图自动按序号命名避免覆盖的方法

方法一:单行命令直接执行

可以直接在终端中执行以下命令组合,每次执行都会自动生成下一个序号的截图文件:

# 获取当前最大序号并计算下一个序号
next_num=$(ls ~/Desktop/screen-*.png 2>/dev/null | sed 's/.*screen-\([0-9]*\)\.png/\1/' | sort -n | tail -1)
next_num=$((next_num + 1))
# 保存截图
adb exec-out screencap -p > ~/Desktop/screen-${next_num:-1}.png

命令解释:

  • ls ~/Desktop/screen-*.png 2>/dev/null:列出桌面下所有带序号的截图文件,2>/dev/null用来屏蔽找不到文件时的错误提示
  • sed 's/.*screen-\([0-9]*\)\.png/\1/':提取文件名中的数字序号部分
  • sort -n | tail -1:对序号进行数字排序并取最大的那个
  • next_num=${next_num:-1}:如果不存在任何带序号的截图文件,默认从1开始命名

方法二:批量重命名原有文件并添加快捷函数

如果之前已经有默认的screen.png文件,可以先将其重命名为screen-1.png,避免后续序号混乱:

[ -f ~/Desktop/screen.png ] && mv ~/Desktop/screen.png ~/Desktop/screen-1.png

之后可以在你的~/.bashrc或~/.zshrc中添加一个自定义函数,以后只需输入adbscreen就能一键保存带序号的截图:

adbscreen() {
    local save_dir=~/Desktop
    local file_prefix="screen-"
    local file_ext=".png"

    # 检查并转换旧的无序号截图文件
    [ -f "${save_dir}/screen.png" ] && mv "${save_dir}/screen.png" "${save_dir}/${file_prefix}1${file_ext}"

    # 获取已存在的最大序号
    local max_seq=$(ls "${save_dir}/${file_prefix}"*"${file_ext}" 2>/dev/null | sed "s/.*${file_prefix}\([0-9]*\)${file_ext}/\1/" | sort -n | tail -1)
    local next_seq=$((max_seq + 1))
    # 处理首次执行的情况
    next_seq=${next_seq:-1}

    # 执行截图保存
    adb exec-out screencap -p > "${save_dir}/${file_prefix}${next_seq}${file_ext}"
    echo "截图已保存至:${save_dir}/${file_prefix}${next_seq}${file_ext}"
}

添加完成后,执行source ~/.bashrc(或对应的rc文件)使函数生效,之后每次输入adbscreen即可自动保存新的序号截图。


内容的提问来源于stack exchange,提问作者anonymoose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:05:17