Comment puis-je extraire tous les fichiers d'un dossier présent dans la carte SD

j'ai un dossier dans ma carte SD comme: /mnt/sdcard/Dossier1/Dossier2/Dossier3/*.jpg

le nom de Folder1 et Folder2 reste constant et dans Folder2 j'ai Folder3, 4, 5 et ainsi de suite.. je veux tirer tous les fichiers jpeg plutôt tous les fichiers (il ya plus) en utilisant adb à mon répertoire courant sur l'ordinateur..

chaque dossier a numéro différent de fichiers jpeg et d'autres fichiers et j'ai essayé en utilisant ceci:

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

mais ça n'a pas marché.. Donc uhmm Comment puis-je tirer tous les fichiers présents dans n'importe quel dossier de carte SD avec une seule commande (une seule commande parce que chaque dossier a un nombre différent de fichiers)

89
demandé sur ritesht93 2012-04-07 05:21:23

7 réponses

Fichier/Dossier à l'aide de pull :

adb pull "/sdcard/Folder1"

sortie:

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.

fichiers/dossiers spécifiques utilisant find de BusyBox :

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

Voici une explication:

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 '5'                     - explained here: /q/bash-is-removing-commands-in-while-29306/"$line"; done;         - pull the files into the current running directory, finish. The quotation marks around $line are required to work with filenames containing spaces.

les scripts vont commencer dans le dossier supérieur et descendre récursivement et trouver tous les"*".jpg " les fichiers et les tirer de votre téléphone à l'annuaire courant.

113
répondu Jared Burrows 2018-09-12 14:47:28

Directory pull est disponible sur les nouveaux outils android. (Je ne sais pas de quelle version il a été ajouté, mais son fonctionnement sur la dernière 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
répondu Palani 2013-03-09 17:50:16

essayez simplement de donner le chemin d'où vous voulez tirer les fichiers Je viens de recevoir les fichiers de sdcard comme

adb pull sdcard/

ne PAS donner de * élargir la recherche ou filtrer. ex: adb pull sdcard/*.txt -- > ceci est invalide.

laissez-adb pull sdcard/

37
répondu Narenderan Perumal 2018-04-08 20:26:41

Yep, il suffit d'utiliser le slash arrière pour tirer récursivement le répertoire. Fonctionne pour moi avec Nexus 5 et la version actuelle de adb (mars 2014).

6
répondu Posting as a guesty-guest 2014-03-11 10:54:37

sur Android 6 avec la version 1.0.32 de ADB, vous devez mettre / derrière le dossier que vous voulez copier. E. g adb pull "/sdcard/".

2
répondu antimatter 2016-09-01 04:05:08

si vous utilisez jellybean pour démarrer cmd, tapez adb pour vous assurer que votre carte sdcard/ sdcard_(la date ou extra) est lisible, tapez adb pull <- - ce fichier doit être fait dans le répertoire adb avant. Le PROFIT!

dans les autres versions type adb pull mnt/sdcard/ sdcard_(la date ou extra)

N'oubliez pas de faire un fichier ou vous allez avoir un gâchis ou ça ne marchera pas.

1
répondu EDward 2013-11-04 05:10:26

si vous voulez tirer un répertoire avec accès restreint à partir d'un périphérique enraciné, vous devez redémarrer adb comme root: tapez adb root avant de tirer. Sinon vous obtiendrez une erreur disant remote object '/data/data/xxx.example.app' does not exist

0
répondu naXa 2017-09-02 21:49:54