#!/bin/bash
HOST_DIR=<pull-to>
DEVICE_DIR=/sdcard/<pull-from>
EXTENSION="\.jpg"
while read MYFILE ; do
adb pull "$DEVICE_DIR/$MYFILE" "$HOST_DIR/$MYFILE"
done < $(adb shell ls -1 "$DEVICE_DIR" | grep "$EXTENSION")
“ls减1”让“ls”每行显示一个文件,引号允许文件名中的空格 .
65
您可以将文件移动到其他文件夹,然后拉出整个文件夹 .
adb shell mkdir /sdcard/tmp
adb shell mv /sdcard/mydir/*.jpg /sdcard/tmp # move your jpegs to temporary dir
adb pull /sdcard/tmp/ # pull this directory (be sure to put '/' in the end)
adb shell mv /sdcard/tmp/* /sdcard/mydir/ # move them back
adb shell rmdir /sdcard/tmp # remove temporary directory
12
使用正则表达式拉取多个文件:
创建pullFiles.sh:
#!/bin/bash
HOST_DIR=<pull-to>
DEVICE_DIR=/sdcard/<pull-from>
EXTENSION=".jpg"
for file in $(adb shell ls $DEVICE_DIR | grep $EXTENSION'$')
do
file=$(echo -e $file | tr -d "\r\n"); # EOL fix
adb pull $DEVICE_DIR/$file $HOST_DIR/$file;
done
3 回答
对于短脚本,以下命令在我的Linux主机上运行
“ls减1”让“ls”每行显示一个文件,引号允许文件名中的空格 .
您可以将文件移动到其他文件夹,然后拉出整个文件夹 .
使用正则表达式拉取多个文件:
创建pullFiles.sh:
运行它:
使其可执行:
chmod +x pullFiles.sh
运行它:
./pullFiles.sh
注意:
当文件名有空格时,
将不起作用
包含Android上的行尾(EOL)修复程序,这是一个"\r\n"