Jak ADB wyciągnąć wszystkie pliki z folderu obecnego na karcie SD

Mam folder na karcie SD jako: / mnt / sdcard/Folder1/Folder2/Folder3/*.jpg

Nazwa Foldera1 i Foldera2 pozostaje stała, a wewnątrz Foldera2 mam Folder3, 4, 5 i tak dalej.. chcę ściągnąć wszystkie pliki jpeg, a raczej wszystkie pliki (jest ich więcej) za pomocą adb do mojego bieżącego katalogu na komputerze..

Każdy folder ma inną liczbę plików jpeg i innych plików i próbowałem użyć tego:

adb pull mnt/sdcard/Folder1/Folder2/Folder/*.jpg .
Ale nie zadziałało.. Więc uhmm Jak mogę ADB wyciągnąć wszystko pliki obecne w dowolnym folderze karty SD z jednym poleceniem (pojedyncze polecenie, ponieważ każdy folder ma inną liczbę plików)
Author: ritesht93, 2012-04-07

7 answers

Pojedynczy plik / Folder używając pull:

adb pull "/sdcard/Folder1"

Wyjście:

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.

Konkretne pliki / foldery używając find z BusyBox:

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

Oto Wyjaśnienie:

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.

Skrypty zaczną się w górnym folderze i rekurencyjnie pójdą w dół i znajdą wszystkie "*.pliki " jpg " i wyciągnij je z telefonu do bieżącego katalogu.

 113
Author: Jared Burrows,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-12 14:47:28

Ściąganie katalogów jest dostępne na nowych narzędziach Androida. ( Nie wiem, z której wersji został dodany, ale działa na najnowszym ADT 21.1)

adb pull /sdcard/Robotium-Screenshots
pull: building file list...
pull: /sdcard/Robotium-Screenshots/090313-110415.jpg -> ./090313-110415.jpg
pull: /sdcard/Robotium-Screenshots/090313-110412.jpg -> ./090313-110412.jpg
pull: /sdcard/Robotium-Screenshots/090313-110408.jpg -> ./090313-110408.jpg
pull: /sdcard/Robotium-Screenshots/090313-110406.jpg -> ./090313-110406.jpg
pull: /sdcard/Robotium-Screenshots/090313-110404.jpg -> ./090313-110404.jpg
5 files pulled. 0 files skipped.
61 KB/s (338736 bytes in 5.409s)
 69
Author: Palani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-09 17:50:16

Spróbuj podać tylko ścieżkę, z której chcesz pobrać pliki Właśnie dostałem pliki z sdcard jak

adb pull sdcard/

Nie daj * jak Rozszerzyć wyszukiwanie lub odfiltrować. ex: ADB pull sdcard/*.txt -- > to jest niepoprawne.

Po prostu daj ADB pull sdcard/

 37
Author: Narenderan Perumal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-08 20:26:41

Tak, po prostu użyj ukośnika końcowego, aby rekurencyjnie wyciągnąć katalog. Działa u mnie z Nexusem 5 i aktualną wersją adb (Marzec 2014).

 6
Author: Posting as a guesty-guest,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-11 10:54:37

Na Androidzie 6 z ADB w wersji 1.0.32, musisz umieścić / za folderem, który chcesz skopiować. E. g adb pull "/sdcard/".

 2
Author: antimatter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-01 04:05:08

Jeśli używasz jellybean po prostu uruchom cmd, wpisz urządzenia adb, aby upewnić się, że czytelny, wpisz ADB pull sdcard / sdcard_ (Data lub dodatkowa)

W innych wersjach wpisz adb pull mnt / sdcard / sdcard_ (Data lub dodatkowa)

Pamiętaj, aby zrobić plik, albo będziesz miał bałagan, albo nie zadziała.

 1
Author: EDward,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-04 05:10:26

Jeśli chcesz wyciągnąć katalog z ograniczonym dostępem z zakorzenionego urządzenia, musisz ponownie uruchomić adb jako root: wpisz adb root przed wyciągnięciem. W przeciwnym razie pojawi się błąd mówiący remote object '/data/data/xxx.example.app' does not exist

 0
Author: naXa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-02 21:49:54