42

.img同じタイプ ( )のいくつかのファイルを/sdcard、1 つのコマンドで電話機のパーティションにプッシュしたいと考えています。ただし、ワイルドカードは機能しません。

adb push *.img /sdcard/

それを達成する方法はありますか?

4

5 に答える 5

55

ファイルを空のディレクトリにコピーして*.imgから、ディレクトリをプッシュします ( adb push /tmp/images /storage/sdcard0)。adbそのディレクトリ内のすべてのファイルを指定した場所にプッシュします。

ところで、/sdcardパスはかなり前から廃止されているため、デバイスでサポートされている存在する宛先を使用していることを確認してください。ほとんどの Android 2.x/3.x/4.0 デバイスは/mnt/sdcard; Android 4.1 では/storage/sdcard0.

于 2012-10-15T17:57:26.070 に答える
22

ファイルをエコーし​​て私の心から...

for i in *.img; do echo $i; adb push "$i" /sdcard/; done;
于 2013-08-11T21:52:45.837 に答える
4

find ({}ファイル名を表す) の使用:

find *.img -exec adb push {} /storage/sdcard0 \;
于 2014-01-09T13:12:52.763 に答える
1

それを行うスクリプトがあります(ダッシュ、Ubuntu Precise)。

プッシュ:

#D=echo
D=
S=
if [ $1 == "-s" ]; then
    S="-s $2"
    shift
    shift
fi
if [ $# -lt 2 ]; then
    echo "Usage: $0 directory files..."
else
DIR=$1
shift
for f in $*
do
  #echo "Processing $DIR/$f file..."
  echo ~/aspt/adb ${S} push "$f" "$DIR/$f"
  ${D} ~/aspt/adb ${S} push "$f" "$DIR/$f"
done
fi

使用法:

mpush /sdcard/ libMyLib.so
mpush /sdcard/ libFirst.so libSecond.so
mpush /sdcard/ *
mpush -s 109d8a6fe0678a3 /sdcard/ *

最初の 2 行はデバッグ用に残されています。最初の 2 行を次のように変更できます。

D=echo
#D=

adb pushコマンドを実行する代わりに、スクリプトにコマンドを出力させます。

-all更新: 接続されているすべてのデバイス (スイッチ)にプッシュする機能を追加

#D=echo
D=
S=
if [ $1 == "-2all" -o $1 == "-all" ]; then
  shift
  DEVICES=`~/aspt/adb devices | tail -n +2 | awk '{print $1}'`
  if [ $# -lt 2 ]; then
      echo "Usage: $0 [options] directory files..."
      echo "Options:"
      echo "-s device-id -- push to the specified device"
      echo "-all or -2all -- push to all devices"
  else
    DIR=$1
    shift
    for d in $DEVICES
    do
      for f in $*
      do
    #echo "Processing $DIR/$f file..."
    echo ~/aspt/adb -s $d push "$f" "$DIR/$f"
    ${D} ~/aspt/adb -s $d push "$f" "$DIR/$f"
      done
    done
  fi
else
  if [ $1 == "-s" ]; then
      S="-s $2"
      shift
      shift
  fi
  if [ $# -lt 2 ]; then
      echo "Usage: $0 [options] directory files..."
      echo "Options:"
      echo "-s device-id -- push to the specified device"
      echo "-all or -2all -- push to all devices"
  else
    DIR=$1
    shift
    for f in $*
    do
      #echo "Processing $DIR/$f file..."
      echo ~/aspt/adb ${S} push "$f" "$DIR/$f"
      ${D} ~/aspt/adb ${S} push "$f" "$DIR/$f"
    done
  fi
fi
于 2014-07-02T13:09:17.353 に答える