我的 Asus Zenfone 2 设备有一些问题(无 root)。
特别是前几天,当我出国旅行时,我的设备决定不再开机,永久停留在加载华硕屏幕。
在进行硬重置之前,我想尝试保存至少所有位于内部存储中的照片(注意:我没有外部 SDCARD)。
我正确设置了 ADB 软件来识别我的设备,但我无法找到照片目录。
到目前为止,我仅使用以下命令成功拉取了 2 个目录:“sys”和“cache”:
adb pull / C:\Myfile
似乎只传输一些文件系统。
有人知道如何提取照片或其他文件吗?
使用
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 件事来提取相同类型的所有文件,在本例中为 *.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 ./
我创建了这个 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