Linux Mint 13'ü kullanarak, USB üzerinden bağlı bir Android'e dosya ve dizin kopyalamak için ADB yapmaya çalışıyorum. Zaman damgalarını korumanız gerekir.
(Unix’te sadece Zaman Değiştirme’nin saklandığını biliyorum).
Googling'den bir emir aldım ama fazla anlamadım. Bağlantı aşağıda. https://android.stackexchange.com/questions/35580/how-can-i-transfer-photos-to-my-android-jelly-bean-device-while-preserving-the-o
ADB'dan sonra "FROM" "ANDROID_PHONE" tuşlarına basıp aşağıdaki komutu kullanıyorum:
find . | while read file; do timestamp_stat=$(stat -c "%y" "$file"); timestamp=$(date +"%Y%m%d.%H%M%S" -d "$timestamp_stat"); echo "$timestamp: $file"; adb shell su -c "touch -t $timestamp \"/sdcard/ANDROID_PHONE\""; done
Yukarıdaki komutun, yalnızca dosya adları ve dizinler için boşluk içermeyen zaman damgalarını kopyalamak için Dokunmatik'yı kullandığını anlıyorum. Hata mesajlarını alın, örn. Bilinmeyen kimlik: boşluklu olanlar için R.
Kodu nasıl değiştirmeliyim?
adb
kabuk yeniden genişler. adb
Komutun hangi dosya touch
üzerinde çalışması gerektiğini bilmesi gerektiğini hala anlamıyorum ; ya da ipte özel bir şey var ANDROID_PHONE
mı? Geçmişte, Android'i bir USB sürücüsü olarak monte ettim cp --preserve=all
ve zaman damgalarını başvurmadan korumak için normal kopyayı ( ) kullandım adb
. Şimdi WiFi üzerinden kopyalamak için Android'de bir dosya yönetimi uygulaması kullanıyorum ve bu da onları koruyor.
touch
Android'deki komut touch -t $timestamp "/sdcard/ANDROID_PHONE/$file"
o zaman problemin çifte açılım olduğunu görebiliyorum, ancak onsuz "$file"
nasıl çalışması gerektiğini takip edemiyorum. Geçerken, dizin zaman damgalarını değiştirmenin olağandışı olduğunu, çünkü içerilen bir dosya veya alt dizin her oluşturulduğunda, silindiğinde ya da yeniden adlandırıldığında güncellenir.
file="$(line)"
Bunun yerine kullanırsanızread file
, o"$file"
zaman öndeki veya sondaki boşlukları (veya yeni satırların dışında diğer karakterleri) içerir. Eğer yoksaline
, eşdeğeri kullanabilirsinizhead -n 1
. Ama olmamalıdır"$file"
içindeadb
çağrı?