我创建了下面的TcpConn.bat脚本,该脚本从android设备获取打开的tcp连接的信息,间隔为2秒,运行在亚行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”相匹配,因此它似乎调用了它。
我的问题是,它为什么要执行那个脚本?我不希望它执行这个脚本,但是运行亚行命令我不是:
callstart批处理脚本是否总是检查目录中与命令部分匹配的文件,并运行该文件,即使它没有附加扩展名?如果是这样的话,是否有办法禁用这种行为?
我知道我可以重命名"adb.bat“文件并完成它。但想知道它为什么会被运行。我唯一能与此相关的是".bat extension“
发布于 2019-03-20 17:45:24
只要您正在执行的目录中有一个批处理文件,它就会执行该adb.bat文件,因为当您告诉批处理文件执行命令时,windows命令提示符将首先在当前目录中查找可执行文件。
至于解决问题的方法,我想说的是,如果可能的话,那么将adb.bat文件的名称更改为类似于adbFile.bat的东西,这样您就不会每次需要从特定目录调用亚行工具时都调用它。
https://stackoverflow.com/questions/55263469
复制相似问题