我尝试将其发布在 Stack 上,但有人告诉我这里可能更合适。
我正在尝试运行一个蝙蝠程序,它将使用 Windows 中的 ADB 打开 Android 设备上的文件夹。
我一生都在寻找并破解难题,但却无果(我的搜索技巧相当差,所以如果这是重复的,很抱歉)。
我可以轻松地在 Windows 文件夹上使用 START 执行此操作,但这似乎在 ADB 命令结构中不起作用。
adb -s %%G Start "/sdcard/Android/data/com.company.title/files/"
錯誤。
似乎 adb 不喜欢启动,想知道是否有人知道如何做到这一点?
提前致谢。
答案1
我怀疑可能没有好的方法来做到这一点。正如评论中所述,有多种访问设备的方法。相关的方法是MTP,PTP以及类似“USB 网络共享”的东西(与 ADB 一起使用的选项)。
据我所知,MTP 和 PTP 是唯一允许 Explorer 显示典型 GUI 目录列表的协议。考虑到这一点,我个人还没有找到从命令行/批处理文件调用这些位置的好方法。
或者,您可以运行adb shell
以获取交互式 shell,然后cd
使用某个位置运行,例如cd /storage/emulated/0
。但根据我的经验,这个 A) 不会出现在 Explorer 中,并且 B) 似乎不容易实现自动化(即尝试在运行后将键盘输入直接发送到交互式 shell adb shell
)。
请注意,您可以运行单独的adb shell
命令,例如,adb shell ls /storage/emulated/0 > directory_listing.txt
生成给定目录中文件/文件夹名称的文本列表。但adb shell
在这种情况下不是交互式的,因此必须一次发出一个命令(据我所知)。
答案2
根据你们提供的信息(主要是协议),我找到了这个链接。
https://stackoverflow.com/questions/39397348/open-folder-on-portable-device-with-batch-file
这很有效,虽然不美观,但确实有效!现在只需找到一种方法来自动化第一部分,我就笑了。
谢谢您为我们指明了正确的方向。