Androidの電話(/ system/etcディレクトリ)のadbシェルで実行するスクリプトがあります。これは、1つのATを送受信してモデムと通信することができますコマンド。 スクリプト自体がadbシェルで実行されていればOKです。それはそれは次のようになります。PowershellスクリプトのATコマンドをadb経由でAndroid phoneに送信
cat /dev/pts/7 &
echo -e $1\\r > /dev/pts/7
はここでadbのシェルでの出力です:
# ./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)
#
今私は、このように最終的にATコマンドを経由してモデムを制御し、私のPC上で実行されているPowerShellのスクリプトからこのスクリプトを呼び出したいですしかし、何も起こりません。 たとえば、以下の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に戻し、出力を後で処理できるようにしたい。 私は同じことを実装するための他のソリューションにもオープンしています。 あなたのご協力に感謝します。ありがとう!
同じことがcmd.exeから機能しますか?引数を渡す問題のようなにおいがします。このような '&$ adb shell/system/etc/sendATCommand '' '" $ atCommand "" "'のように、引用符をadb.exeに渡すことをお試しください。 –
手がかりのおかげでAndy、私はそれを試してみる機会を得なかった。明日はそれをします。 –