如何使用 ADB 从本地存储中提取照片 - Android 设备

问题描述 投票:0回答:3

我的 Asus Zenfone 2 设备有一些问题(无 root)。

特别是前几天,当我出国旅行时,我的设备决定不再开机,永久停留在加载华硕屏幕。

在进行硬重置之前,我想尝试保存至少所有位于内部存储中的照片(注意:我没有外部 SDCARD)。

我正确设置了 ADB 软件来识别我的设备,但我无法找到照片目录。

到目前为止,我仅使用以下命令成功拉取了 2 个目录:“sys”和“cache”:

adb pull / C:\Myfile

似乎只传输一些文件系统。

有人知道如何提取照片或其他文件吗?

android adb photos pull
3个回答
42
投票

使用

adb pull sdcard/DCIM/Camera C:\MyFile

如果不起作用,请使用:

adb shell
echo $EXTERNAL_STORAGE

它将打印模拟外部存储的路径。然后:

cd $EXTERNAL_STORAGE/DCIM
ls

它将打印包含相机应用程序文件夹的文件夹。最后,使用:

adb pull HERE_PUT_PATH_TO_EXTERNAL/DCIM/SELECTED_CAMERA_APP_FOLDER C:\MyFiles

注意:要离开

adb shell
,请输入
exit


3
投票

我做了 3 件事来提取相同类型的所有文件,在本例中为 *.mp4(所有视频)

1。首先将以下内容的输出复制到:带有 xargs 的 {allvideoslisted} 到 file.txt

adb shell ls /storage/7C17-B4FD/DCIM/Camera/*.mp4 | xargs -t -I % echo % >> file.txt  

adb shell ls /storage/7C17-B4FD/DCIM/Camera/*.mp4
返回设备中列出的所有视频。 参数
-t
显示 XARGS 的输出,
-I
允许您使用变量,在本例中用
%
表示,然后编写您想要执行的命令。在这种情况下,
echo %
每一行并将其添加到 file.txt

2。您需要清除 file.txt 中的空格和

'\r'
,您可以使用命令
tr

来完成此操作
tr -d '\r' < file.txt > text-clean.txt  

输入文件是

< file.txt
,新的输出文件是
> text-clean.txt

3.现在您可以

cat
新的干净文件
text-clean.txt
并使用该输入和 XARGS 命令来为每个文件传递命令
adb pull

cat text-clean.txt | xargs -t -I % adb pull % ./ 

我们

cat
text-clean.txt
的内容并将输出发送到XARGS,然后我们看看使用
-t
-I
添加变量的命令的结果是什么。
adb pull
%
表示的路径请求文件,
./
表示复制到该目录或当前目录。

如果您只需要复制一个文件。只需使用

adb shell ls /path/to/file 
找到文件,然后使用
adb pull
将其复制到您的位置。例子

adb pull /storage/7C717-B4FD/DCIM/Camera/video1.mp4 ./
 

0
投票

我创建了这个 shell 脚本用于从 Android 设备下载 CAMERA 文件夹。如果由于某种原因下载在中间停止,它也会恢复下载。

https://github.com/bkrajendra/android_backup

这个脚本的灵感来自于各种 SO 帖子和我在网上找到的一些示例脚本。

脚本可以在Win/Mac/Linux上执行,需要有adb cli工具。在 Windows 上使用 gitbash 或 MobaXterm

用途:

./backup.sh [-r remote_folder] [-l local_folder]
e.g. ./backup.sh sdcard/DCIM/Camera /f/Photo/A52
© www.soinside.com 2019 - 2024. All rights reserved.