我创建了以下TcpConn.bat脚本,该脚本在adb外壳程序中运行,从Android设备获取间隔为两秒的打开tcp连接的信息。
:startTCP
adb shell cat /proc/net/tcp
timeout /t 2
goto startTCP
在我的/ dev / test /文件夹中对此进行测试时,脚本按预期运行,并为我提供了sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
的预期输出。
但是,当我将其移至/ dev / batchFiles /文件夹时,它开始在该文件夹(称为adb.bat
)中运行其他.bat脚本的内容。内容
cd C:\Android\sdk\platform-tools
adb logcat -s Unity PackageManager dalvikvm DEBUG
现在,在我的TcpConn.bat脚本中,我执行“ adb shell ...”,该名称与没有扩展名的“ adb.bat”名称匹配,因此似乎对此进行了调用。
我的问题是,为什么会执行该脚本?我不希望它执行脚本,但是运行adb命令 我不是:
call
start
批处理脚本是否总是检查目录中与命令匹配的文件并运行该文件,即使该文件未附加扩展名也是如此?如果是这样,有没有办法禁用这种行为?
我知道我可以重命名“ adb.bat”文件并完成它。但是想知道为什么会运行。 我唯一与此相关的是“ How to run batch script without using *.bat extension”
答案 0 :(得分:0)
只要与您正在执行的目录在同一目录中有一个批处理文件,它就会执行该adb.bat文件,因为当您告诉Windows命令提示符时,它将首先在当前目录中查找可执行文件您的批处理文件来执行命令。
至于解决您的问题,我会说是否有可能,然后将adb.bat文件的名称更改为adbFile.bat之类的名称,这样您就不必在每次调用时都调用它您在该特定目录中的adb工具。