如何 adb 提取 SD 卡中文件夹中的所有文件

2024-04-27

我的 SD 卡中有一个文件夹:/mnt/sdcard/Folder1/Folder2/Folder3/*.jpg

文件夹 1 和文件夹 2 的名称保持不变,文件夹 2 内有文件夹 3、4、5 等。 我想使用 adb 将所有 jpeg 文件而不是所有文件(还有更多)拉到计算机上的当前目录中。

每个文件夹都有不同的数字jpeg 文件和其他文件,我尝试使用这个:

adb pull mnt/sdcard/Folder1/Folder2/Folder/*.jpg .

但没有成功.. 那么,嗯,我如何使用 adb 使用单个命令提取 SD 卡任何文件夹中存在的所有文件(单个命令,因为每个文件夹都有不同数量的文件)


单个文件/文件夹使用pull:

adb pull "/sdcard/Folder1"

Output:

adb pull "/sdcard/Folder1"
pull: building file list...
pull: /sdcard/Folder1/image1.jpg -> ./image1.jpg
pull: /sdcard/Folder1/image2.jpg -> ./image2.jpg
pull: /sdcard/Folder1/image3.jpg -> ./image3.jpg
3 files pulled. 0 files skipped.

特定文件/文件夹使用find from BusyBox:

adb shell find "/sdcard/Folder1" -iname "*.jpg" | tr -d '\015' | while read line; do adb pull "$line"; done;

这是一个解释:

adb shell find "/sdcard/Folder1" - use the find command, use the top folder
-iname "*.jpg"                   - filter the output to only *.jpg files
|                                - passes data(output) from one command to another
tr -d '\015'                     - explained here: http://stackoverflow.com/questions/9664086/bash-is-removing-commands-in-while
while read line;                 - while loop to read input of previous commands
do adb pull "$line"; done;         - pull the files into the current running directory, finish. The quotation marks around $line are required to work with filenames containing spaces.

脚本将从顶部文件夹开始,递归地向下查找所有“*.jpg”文件,并将它们从手机拉到当前目录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何 adb 提取 SD 卡中文件夹中的所有文件 的相关文章

  • Android 动态添加联系表单

    Hi 我想实现如图所示的表单 不知道他们如何动态添加字段 这是列表视图吗 可扩展列表 用户可以在运行时添加和删除 我已经检查了包含子项目的可扩展列表 但我们在数组中定义子元素 在图像中它们动态添加 任何指南 链接 Thanks Custom
  • 从设备坐标系到绝对坐标系的加速度

    从我的 Android 设备中 我可以读取线性加速度值数组 在设备的坐标系中 和绝对方向值数组 在地球坐标系中 我需要的是获得后一个坐标中的线性加速度值 系统 我怎样才能转换它们 EDIT阿里在评论中回复后 好吧 如果我理解正确的话 当我测
  • 如何删除导航视图不必要的顶部填充?

    标题和图中显示的第一个项目之间有不必要的顶部填充 如何将其去除 你可以在这里找到源代码 https github com chrisbanes cheesesquare https github com chrisbanes cheeses
  • RxAndroid - 单击时重试可观察

    我在 Android 应用程序中使用 rxAndroid 和 rxKotlin 来异步处理网络请求 现在我想仅在单击 Snackbar 按钮后重试失败的网络请求 我现在的代码 val citiesService ApiFactory cit
  • GridLayout 对齐列内的子项

    我有一个GridLayout由 6 个孩子组成 它的列数为 2 左列的子列有layout gravity of start end fill horizontal and layout width0dp 这会导致它们填满所有可用空间 Thi
  • HttpURLConnection getResponseCode 未返回

    我尝试在 Android 上使用 HttpURLConnection 将文件发布到我们的服务器 但 getResponseCode 调用只是挂起并且永远不会返回 该问题源于文件对于服务器来说太大 因此服务器发回 HTTP 错误代码 413
  • 当子列表视图在颤动中到达末尾时,有什么方法可以滚动父列表视图吗?

    假设我有一个可滚动页面 在该页面内我有另一个可滚动列表视图 垂直 所以我希望当子列表视图到达末尾时 可滚动页面开始移动到其末尾 此外 当子列表视图到达顶部时 可滚动页面开始移动到顶部 怎样才能做到这一点 这是我的代码 Widget Fres
  • 安卓多点触控?

    作为一名开发人员 我倾向于先编程 然后再研究 我试图实现一个可以处理多个用户输入的屏幕 基本上映射的不仅仅是一根手指 我尝试了两件事 我有一个实现 OnTouchListener 的 Activity 类 这里我有两个单独的子视图 它们将
  • 喷气背包组合中的波纹效果无法正常工作

    我正在研究jetpack compose中的连锁反应 我提供了我的颜色 单击视图后 它会在一段时间后显示不同类型的颜色 在按下状态时显示为深灰色 binding itemComposable setContent Column modifi
  • Android 中的 ImageView 拖动限制

    我在布局中有一个 ImageView 并在 ImageView 上设置 OnTouchListener 来拖动 ImageView 它工作得很好 我的问题是如何防止将 ImageView 移动到布局范围之外 这是我的代码 活动类别 publ
  • 我如何将值从基本适配器传递到活动

    我正在一个应用程序中工作 我需要将值从基本适配器类传递到活动 这是片段代码 public View getView int position View convertView ViewGroup parent vi convertView
  • 带有电子墨水显示屏的 Android

    我有兴趣使用 AndroidE Ink http www eink com technology howitworks html为基础的平台 我知道已经是证明了 http vimeo com 3162590MOTO 曾经使用过 但我有兴趣将
  • Genymotion Google Nexus 6P 7.0.0 与 Open_Gapps 手臂 7.0.0

    With Genymotion 2 8 0 我已经安装了谷歌 Nexus 6P 7 0 0API 级别为 24 的设备 启动设备后 我刷新了 ARM 虚拟转换器并重新启动了设备 然后 我从下载 open gapps用于 Playstore
  • 如何让SeekBar占据父级的整个宽度

    我有一个SeekBar in a RelativeLayout其宽度等于屏幕宽度 我申请了layout width match parent to the SeekBar但两边似乎都留有一些空白SeekBar以容纳拇指 我也尝试过使用and
  • 如何使用 gradle 动态切换/更改 testInstrumentationRunner

    我的项目有两组不同的测试 一组仅使用默认值运行AndroidJUnitRunner另一个必须使用自定义实现来运行TestRunner extends MonitoringInstrumentation 目前我切换testInstrument
  • Eventbus onMessageEvent 没有被调用

    我已经在我的项目中实现了 EventBus 但我没有获得所有事件 public class MainActivity extends AppCompatActivity Override protected void onCreate Bu
  • MediaPlayer.getDuration() 返回错误的持续时间

    媒体播放器的getDuration 方法为我提供了某些音频文件的错误值 我认为所有这些文件的共同特征是它们是使用 Audacity 或其他一些音频编辑工具进行操作的 当尝试将 MediaPlayer 进度绑定到进度栏时 这是一个问题 我继续
  • 当设备位于我的用户目录中时,为什么 Android 模拟器会报告“未知虚拟设备”?

    我安装了所有Android开发先决条件 http developer android com sdk requirements html 我通过 Eclipse 创建了一个虚拟设备 并尝试在该设备中运行 Hello World 示例应用程序
  • 现已弃用使用 Google Places API 获取多种类型

    谷歌最近宣布 自 2016 年 2 月 16 日起 types 参数已被弃用 取而代之的是新的类型参数 每个搜索请求仅支持一种类型 我的问题是 现在有什么方法 不使用已弃用的参数 从单个 API 调用中获取多个地点类型吗 谢谢 None
  • Gradle 找不到 Android Compose 编译器

    我对这个问题感到非常困惑 我的 gradle 文件中有以下几行 implementation androidx compose runtime runtime 1 0 0 alpha04 implementation androidx co

随机推荐