ADB 迭代拉取
ADB pull iteratively
标题可能措辞不当,但本质上我朋友的Galaxy S6在启动约30秒后一直重启,原因是错误:System UI has stopped working
我正在尝试恢复目录 /mnt/sdcard/DCIM/
中包含的所有图片,但是 phone 在我使用 adb pull /mnt/sdcard/DCIM/
复制了大约 80 张图片后重新启动。我怎样才能一次复制80个然后休眠20秒,然后拉下一个80?
我最终得出的解决方案是这样的:
获取该目录中所有文件的列表,然后遍历其中的一些文件,如果由于设备重启导致复制失败,请稍等片刻再试。如果该文件已被复制,请跳过该文件。
$outputDirectory = "C:\Temp\RecoveredPictures"
$amount = 100
adb shell find /mnt/sdcard/DCIM/Camera -type f > C:\Temp\PictureNames.txt
$files = Get-Content C:\Temp\PictureNames.txt
for ($i = 0; $i -lt $files.Length; $i++) {
$file = $files[$i]
$fileName = $file.Split("/")[-1]
if (Test-Path $outputDirectory$fileName) {
continue
}
Write-Host "File name is $file"
adb pull $file $outputDirectory$fileName
if ($error[0].ToString() -like "error: device '(null)' not found") {
$i--
sleep 1
}
}
标题可能措辞不当,但本质上我朋友的Galaxy S6在启动约30秒后一直重启,原因是错误:System UI has stopped working
我正在尝试恢复目录 /mnt/sdcard/DCIM/
中包含的所有图片,但是 phone 在我使用 adb pull /mnt/sdcard/DCIM/
复制了大约 80 张图片后重新启动。我怎样才能一次复制80个然后休眠20秒,然后拉下一个80?
我最终得出的解决方案是这样的:
获取该目录中所有文件的列表,然后遍历其中的一些文件,如果由于设备重启导致复制失败,请稍等片刻再试。如果该文件已被复制,请跳过该文件。
$outputDirectory = "C:\Temp\RecoveredPictures"
$amount = 100
adb shell find /mnt/sdcard/DCIM/Camera -type f > C:\Temp\PictureNames.txt
$files = Get-Content C:\Temp\PictureNames.txt
for ($i = 0; $i -lt $files.Length; $i++) {
$file = $files[$i]
$fileName = $file.Split("/")[-1]
if (Test-Path $outputDirectory$fileName) {
continue
}
Write-Host "File name is $file"
adb pull $file $outputDirectory$fileName
if ($error[0].ToString() -like "error: device '(null)' not found") {
$i--
sleep 1
}
}