wie pull/push hidden files via adb

  • 3 Antworten
  • Letztes Antwortdatum
Q

Q-Factor

Neues Mitglied
2
Hallo,

tja der Titel sagt denke ich alles.
adb funktioniert und Gerät ist verbunden via "adb root".

Ich möchte via

adb pull -a -p /storage/sdcard0 ~/scard0_bak

die interne Karte vollständig kopieren. Aber die hidden files (dotfiles) werden nicht mitkopiert.
Wie bekomme ich die mitkopiert?

Danke
Q-Factor
 
Wenn du den Namen komplett angibst, dann funktioniert es. Willst du die ganze Karte kopieren hilft evtl. folgendes Skript von Stackoverflow: How do i adb pull ALL files of a folder present in SD Card

Angepasst an deine Gegebenheiten (du solltest dich aber in dem Verzeichnis ~/scard0_bak zum Zeitpunkt der Ausführung befinden):
Code:
adb shell find "/storage/sdcard0/" | tr -d '\015' | while read line; do adb pull $line; done;


EDIT: ein "/" vergessen.
 
Zuletzt bearbeitet:
Ah ok.
Also nur damit ich das richtig verstehe:
find "storage/sdcard0" listet alle files inklusive der dotfiles
tr -d '\015' entfernt die CR-flags
Die while schleife arbeitet dann den die stdout Zeilenweise ab und kopiert jedes File.

Nimmt das auch Subfolders mit?

-----------
EDIT

Hm funktioniert nicht.

failed to copy '/storage/sdcard0' to './sdcard0': Is a directory

der find-Befehl alleine listet auch garnicht alle files auf, sondern nur das eine folder
Ich probier einfach mal etwas weiter rum

EDIT 2/
--------
Ah ok der / fehlt

adb shell find "/storage/sdcard0/" | tr -d '\015' | while read line; do adb pull $line; done;

jetzt gehts :)

Danke und greets
Q-Factor
 
Zuletzt bearbeitet:
Also die Idee ist grundsätzlich verstanden, aber das funktioniert so nicht, weil der find-Befehl ein schlechtes Ergebnis liefert. find listet zuerst den Ordner selbst und der wird dann an den pull Befehl durchgepipt. Dass heißt ich ziehe als erstes die gesamte SD-Karte ohne hidden files also wurde ich den Befehl as Post 1 ausführen. Danach wird jedes File aus jedem Unterordner und jeder Unterordner selbst nochmal gelistet. Am Ende kopiert das Script einmal alle Ordner und Unterordner ganz normal aber ohne hidden files und nochmal jedes einzelne File aus jedem Unterordner nochmal einzeln in das Verzeichnis von welchem aus man das Script aufgerufen hat.
Ist auch klar, weil "find" das eben so auflistet. Wir brauchen eine andere find-Lösung die jedes File und jeden Ordner nur einmal auflistet.
Vermutlich muss man mehrere Aufrufe nacheinander machen weil man wohl niemals mit nur einem find-befehl gleichzeitig alle Files korrekt listen kann.
Das geht mir bei Unix/Linux/Mac echt immer aufn Sack, dass bis heute keine fertigen Scripte für die einfachsten Dateioperationen out of the box dabei sind. Muss man sich jedesmal jeden winzigen Befehl wieder neu zusammenbasteln. *grummel*
Also, wer ne Idee hat immer her damit ;-)

Was mir zudem noch aufgefallen ist, dass adb keine leeren folders kopiert. Meistens egal, weil die von der App dann selber neu angelegt werden, aber manchmal nicht. kann man das auch irgendwie regeln?

greets
Q
 
Zuletzt bearbeitet:

Ähnliche Themen

D
Antworten
22
Aufrufe
4.205
BOotnoOB
BOotnoOB
Foh
Antworten
13
Aufrufe
4.371
Nicolee13
N
cehuisken
Antworten
1
Aufrufe
883
Andy
Andy
Zurück
Oben Unten