我有一个脚本,我在Android手机的adb shell(/ system/etc目录)中运行,它可以通过发送/接收单个AT命令。 脚本本身(如果在adb shell中运行)工作正常。这就是它的样子:通过adb发送AT命令到Android手机通过adb

cat /dev/pts/7 &

echo -e $1\\r > /dev/pts/7

下面是亚行外壳输出:

# ./sendATCommand "at+cops?"

./sendATCommand "at+cops?"

#

+COPS: 0,0,"AT&T",6

OK

/dev/pts/7: invalid length

(need to press ENTER to return control to adb shell)

#

现在我想从我的电脑上运行PowerShell脚本,从而最终通过控制调制解调器AT命令调用该脚本,但没有任何反应。 例如,下面的powershell脚本会在+ cops发送命令?检查操作者哪​​个移动被注册到:

$adb = [IO.Path]::Combine([IO.Path]::Combine($Env:ANDROID, "platform-tools"), "adb.exe")

& $adb remount

$atCommand = "at+cops?"

& $adb shell /system/etc/sendATCommand $atCommand

输出可能看起来有时就像+ ATCMD(任何残留的[专有] AT命令坐在设备缓冲器启动后),或在+警察(回波) ,或根本没有,但从来没有+ COPS:0,0,“AT & T”,我期望的6。你能帮我弄清楚发生了什么事以及如何解决它?理想情况下 我希望能够执行命令,将控制权返回给PowerShell,并使输出可用于进一步处理。 我也接受其他解决方案来实现相同的事情。 将不胜感激您的帮助。谢谢!

+0

从cmd.exe工作是否一样?闻起来像一个传递问题的论点。尝试引用将引号传递给adb.exe,就像这个'&$ adb shell/system/etc/sendATCommand“”“$ atCommand”“”''。 –

2012-01-28 01:51:03

+0

感谢Andy提供的线索,我没有机会尝试;明天会做。 –

2012-01-31 01:30:10

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐