Wie ziehe ich ALLE Dateien eines Ordners, der auf der SD-Karte vorhanden ist

Lesezeit: 5 Minuten

Benutzer-Avatar
riteshtch

Ich habe einen Ordner auf meiner SD-Karte als:
/mnt/sdcard/Folder1/Folder2/Folder3/*.jpg

Der Name von Ordner1 und Ordner2 bleibt konstant und in Ordner2 habe ich Ordner3, 4, 5 usw. Ich möchte alle JPEG-Dateien und nicht alle Dateien (es gibt mehr) mit adb in mein aktuelles Verzeichnis auf dem Computer ziehen. .

Jeder Ordner hat andere Nummer von JPEG-Dateien und anderen Dateien und ich habe versucht, Folgendes zu verwenden:

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

Aber es hat nicht funktioniert. Also, ähm, wie kann ich alle Dateien, die in einem beliebigen Ordner der SD-Karte vorhanden sind, mit einem einzigen Befehl abrufen (ein einziger Befehl, da jeder Ordner eine unterschiedliche Anzahl von Dateien enthält)

  • Hast du Linux oder Windows? Können wir das mit einem einfachen Skript lösen?

    – Jared Burrows

    7. April 2012 um 2:04 Uhr

  • Hmm, ich habe das Android Developement Stuff auf beiden installiert: Win7 sowie Ubuntu.. wenn es eine Lösung für beide gibt, dann schön und gut..! Aber in Wirklichkeit brauche ich es nur für Ubuntu (als VM installiert) .. also ähm ja, ich bin auf Ubuntu ..

    – riteshtch

    8. April 2012 um 0:47 Uhr

  • können Sie bitte eine richtige Antwort für diese Frage markieren?

    – Jared Burrows

    8. April 2015 um 22:31 Uhr

Benutzer-Avatar
Jared Burrows

Verwendung einzelner Dateien/Ordner pull:

adb pull "/sdcard/Folder1"

Ausgabe:

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.

Bestimmte Dateien/Ordner verwenden find aus BusyBox:

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

Hier ist eine Erklärung:

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.

Die Skripte beginnen im obersten Ordner und gehen rekursiv nach unten, finden alle „*.jpg“-Dateien und ziehen sie von Ihrem Telefon in das aktuelle Verzeichnis.

  • adb pull /sdcard alle ziehen!

    – Ian Vaughan

    8. Dezember 2015 um 19:34 Uhr

  • @IanVaughan, das ist ein Befehl, den ich oft verwende und der für mich funktioniert, aber ich wünschte, es gäbe eine Möglichkeit, alles von der SD-Karte zu ziehen, aber einen der Unterpfade auszuschließen

    – GµårÐïåñ

    8. Februar 2016 um 1:11 Uhr

  • Ich frage mich, ob Android hat tar? Eine einfache Tarpipe über ADB würde ein sehr feinkörniges Ziehen von Dateien und Metadaten ermöglichen, jedoch mit Ausschlüssen. Wenn dort auch gzip/bzip2 ist, dann wäre eine komprimierte Tarpipe verfügbar 🙂

    – Mark K. Cowan

    30. April 2016 um 23:14 Uhr

  • Zum modern Versionen von adb Sie können einfach das Verzeichnis angeben und das Tool zieht rekursiv alles für Sie

    – DirkyJerky

    30. Juni 2016 um 19:08 Uhr

  • adb pull -a -p /sdcard alle ziehen, Fortschritte zeigen und Zeitstempel bewahren!

    – Unbekannt123

    26. Februar 2020 um 13:35 Uhr

Directory Pull ist für neue Android-Tools verfügbar. (Ich weiß nicht, von welcher Version es hinzugefügt wurde, aber es funktioniert mit dem neuesten 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)

  • Ich habe das versucht, aber es hat nur einige Verzeichnisse gezogen. Nicht sicher, was seine Kriterien waren.

    – ach ja

    9. Januar 2014 um 16:43 Uhr

  • Wenn Sie einen Ordner ziehen möchten, der im Besitz von ist Wurzelstarte ein adb Root-Session (mit $ adb root).

    – MasterAM

    12. Juni 2014 um 13:32 Uhr

  • Führen Sie den Befehl als root aus, genau wie @MasterAM gesagt hat! hat ohne Probleme funktioniert! Prost!

    – Migischa

    13. Februar 2015 um 5:41 Uhr

  • @acjay Leere Ordner werden weggelassen. Dies gilt auch für rekursive Ordner, die letztendlich leer sind. Z.B /sdcard/folder1/folder2 wird darin enden, dass folder1 weggelassen, wenn folder2 ist leer und es gibt keine anderen Dateien darunter folder1.

    – MDMower

    14. Mai 2015 um 20:48 Uhr


Benutzer-Avatar
Ilavarasan

Bitte versuchen Sie, nur den Pfad anzugeben, von dem Sie die Dateien ziehen möchten. Ich habe gerade die Dateien von der SD-Karte erhalten

adb pull sdcard/

Gib nicht * gerne die Suche erweitern oder herausfiltern. ex: adb pull sdcard/*.txt –> das ist ungültig.

Gib einfach adb pull sdcard/

  • Dies ist eine viel sauberere Lösung. Es ist semantisch besser und behält auch die Verzeichnisstruktur bei.

    – Mike

    11. Juni 2015 um 17:44 Uhr

  • Beachten Sie, dass der Nachlauf / tut Mater.

    – Adrin

    24. Oktober 2015 um 14:57 Uhr

  • Mit der adb-Version 1.0.40 brauchte ich keinen abschließenden Schrägstrich

    – Elende Variable

    29. April 2019 um 19:27 Uhr

Ja, verwenden Sie einfach den abschließenden Schrägstrich, um das Verzeichnis rekursiv abzurufen. Funktioniert bei mir mit Nexus 5 und aktueller Version von adb (März 2014).

Auf Android 6 mit ADB-Version 1.0.32 müssen Sie / hinter den Ordner setzen, den Sie kopieren möchten. Z.B adb pull "/sdcard/".

  • Mit der adb-Version 1.0.40 brauchte ich keinen abschließenden Schrägstrich

    – Elende Variable

    29. April 2019 um 19:26 Uhr

  • Der Schrägstrich UND der Punkt haben es mir angetan, sonst wird der Ordner nicht nur der Inhalt kopiert.

    – Nikolaus

    8. Mai 2021 um 23:22 Uhr

Benutzer-Avatar
naXa steht zur Ukraine

Wenn Sie ein Verzeichnis mit eingeschränktem Zugriff von einem gerooteten Gerät abrufen möchten, müssen Sie adb als root neu starten: Typ adb root vor dem ziehen. Andernfalls erhalten Sie eine Fehlermeldung remote object '/data/data/xxx.example.app' does not exist

  • Mit der adb-Version 1.0.40 brauchte ich keinen abschließenden Schrägstrich

    – Elende Variable

    29. April 2019 um 19:26 Uhr

  • Der Schrägstrich UND der Punkt haben es mir angetan, sonst wird der Ordner nicht nur der Inhalt kopiert.

    – Nikolaus

    8. Mai 2021 um 23:22 Uhr

Benutzer-Avatar
EDward

Wenn Sie Jellybean verwenden, starten Sie einfach cmd, geben Sie adb devices ein, um sicherzustellen, dass Sie lesbar sind, geben Sie adb pull sdcard/ sdcard_ (das Datum oder extra) <---diese Datei muss vorher im adb-Verzeichnis erstellt werden. PROFITIEREN!

Geben Sie in anderen Versionen adb pull mnt/sdcard/ sdcard_ (das Datum oder extra) ein

Denken Sie daran, eine Datei zu erstellen, oder Sie haben entweder ein Durcheinander oder es funktioniert nicht.

1334000cookie-checkWie ziehe ich ALLE Dateien eines Ordners, der auf der SD-Karte vorhanden ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy