我创建了以下 TcpConn.bat 脚本,该脚本以两秒的间隔从 Android 设备获取打开的 tcp 连接的信息,在 adb shell 中运行。
: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/ 文件夹时,它开始运行该文件夹中不同 .bat 脚本的内容(称为adb.bat
)。与内容
cd C:\Android\sdk\platform-tools
adb logcat -s Unity PackageManager dalvikvm DEBUG
现在在我的 TcpConn.bat 脚本中,我执行“ adb shell...”,它与“adb.bat”的名称匹配,没有扩展名,所以它似乎调用了这个。
我的问题是,为什么 它会执行该脚本?我不希望它执行脚本,但运行我不是的 adb 命令:
- 提供完整的文件路径/文件名(这将是 c:/dev/batchFiles/adb.bat),我也没有将它用作像“adb”这样的字符串
- 我没有按照这里
call
的解释使用 - 不使用
start
批处理脚本是否总是检查目录中与命令的一部分匹配的文件并运行该文件,即使它没有附加扩展名?如果是这样,有没有办法禁用这种行为?
我知道我可以重命名“adb.bat”文件并完成它。但想知道它为什么会运行。我唯一能与此相关的是“如何在不使用 *.bat 扩展名的情况下运行批处理脚本”