5

AndroidデバイスのSDカードにディレクトリが存在するかどうかをテストして確認し、存在する場合はそのディレクトリにいくつかのファイルをプッシュできるようにする必要があります。

これまでのところ、私はこれを持っています:

adb %argument% shell if [ -e /sdcard/ ]; then echo "it does exist"; else echo "it does not exist"; fi;

しかし、ファイルをそのディレクトリにプッシュし続けることができるように、バッチスクリプトにディレクトリが存在することを通知するにはどうすればよいですか?

4

4 に答える 4

4

これが私がバッチスクリプトで行ったことです:

set cmd="adb shell ls | find /c "theFile" "
FOR /F %%K IN (' !cmd! ') DO SET TEST=%%K
if !TEST! GTR 0 (
    echo the file exists
) else (
    echo the file does not exist
)

fileNameに適合する複数のファイルが存在する可能性があるため、0より大きいテストを行うことにしました。


Linuxで完全一致をテストしてbashを使用するには(参照):

FILENAME_RESULT=$(adb shell ls / | tr -d '\015'|grep '^fileName$')

if [ -z "$FILENAME_RESULT" ];
then
        echo "No fileName found."
else
        echo "fileName found."
fi
于 2012-06-05T18:38:27.693 に答える
1

dir or lsディレクトリをリストして、次にgrepを使用して分析する必要があると思います。grepがディレクトリスクリプトを見つけたら、何かをします。

于 2012-06-05T16:33:05.290 に答える
0

1)adb shell ls /filepath>fileifpresentを使用するだけです

2)「そのようなファイルまたはディレクトリがない」場合はローカルでgrepを実行し、NO

 Else Directory Present
于 2014-05-06T04:55:28.517 に答える
0

コマンドの終了ステータスを確認する方法は次のとおりです。

MyFile="Random.txt"
WorkingPath="/data/local/tmp/RandomFolder"

IsDir=`adb shell ls $WorkingPath &> /dev/null ; echo "$?"`

if [ $IsDir == 0 ] ; then 

   echo "Exist! Copying File To Remote Folder"

   adb push $MyFile $WorkingPath

else

   echo "Folder Don't Exist! Creating Folder To Start Copying File"

   adb shell mkdir $WorkingPath

   adb push $MyFile $WorkingPath

fi
于 2017-07-16T06:47:51.010 に答える