从Android的ADB PULL中排除文件夹

时间:2017-06-11 07:48:32

标签: android adb

所以我正在努力为我的Galaxy S8的SD卡(实际的可移动SD卡)做一个完整的备份。所以我使用Android ADB功能来使用它;我使用以下命令备份我的SD卡;

" adb pull / storage / 5C60-4517 /" - >这完全没问题,但我有一个问题。

在我的SD卡中,我有一个名为" PCMusic" 的文件夹,这是存储我所有音乐的地方。这与我在PC和网络硬盘上的音乐相同,所以我想要做的是排除这个唯一的文件夹,因为我已经将所有这些音乐放在我的PC硬盘上了。这个文件夹是大约17GB,所以在备份我的SD卡时浪费了足够的时间。此文件夹位于SD卡的根驱动器上。

所以我想知道使用命令,如何从SD卡的根目录中删除这个ONE文件夹?我想备份SD卡中的所有其他内容,除了名为" PCMusic"的音乐文件夹。

感谢。 (我只是一个新手!进入Android两个月了!)

1 个答案:

答案 0 :(得分:1)

我为相同的问题而苦苦挣扎,但出于内部SD的困扰。我认为adb没有内置选项 ,但是如果您使用的是Linux ;此“ for循环”与“ find”命令(当然可以根据个人需要进行修改)结合在一起,对我的内部sd起作用:

for file_or_dir in $(sudo adb shell find /sdcard/ ! -name 'Music' -maxdepth 1 -mindepth 1)
    do sudo adb pull "${file_or_dir}" /path/to/target/sdcard
done

此命令使用'adb shell'在设备本身上执行'find'命令,从而导致/ sdcard中所有文件和目录的列表与名称'Music'不匹配(sudo adb shell find / sdcard! -name'Music'-maxdepth 1 -mindepth 1)。

然后,它遍历此文件和目录列表,并将它们全部拉到/ path / to / target / sdcard /。 (如果您有适当的udev规则,则可以省略'sudo')

(基于此reddit注释:https://www.reddit.com/r/Android/comments/hnfo5/adb_wildcard_pull/c1wsmic/

相关问题