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)
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.
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)
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/
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).
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/".
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.
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