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
)

可能有多个文件适合文件名,所以我选择让它测试大于 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 回答