使用adb命令将批处理文件的输出发送到vbscript

时间:2014-02-28 17:01:31

标签: android batch-file vbscript adb

这不应该是艰难的,但我的知识非常有限。

我想获取以下adb命令返回的值:

adb shell getprop ro.product.brand
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release

并将值分配给传递给 vbscript 的变量。

我尝试过没有成功:

set adb shell getprop ro.product.brand=deviceBrand
echo %deviceBrand&

这实际上是两个问题(1.分配变量,2。传递给vbscript)。我只是在第1步寻求帮助。

修改

感谢Aacini,我现在使用For /F将adb命令作为变量。以下是我目前的代码:

for /F "delims=" %%a in ('adb devices') do set devices=%%a

rem get the values returned by the following adb commands into variables:
for /F "delims=" %%a in ('adb shell getprop ro.product.manufacturer') do set mfg=%%a
for /F "delims=" %%a in ('adb shell getprop ro.product.brand') do set brand=%%a
for /F "delims=" %%a in ('adb shell getprop ro.build.PDA') do set pda=%%a 
for /F "delims=" %%a in ('adb shell getprop ro.product.model') do set model=%%a
for /F "delims=" %%a in ('adb shell getprop ro.build.version.release') do set os=%%a
for /F "delims=" %%a in ('adb shell getprop ro.product.locale.language') do set language=%%a
for /F "delims=" %%a in ('adb shell getprop ro.product.locale.region') do set region=%%a
for /F "delims=" %%a in ('adb shell getprop ro.build.target_country') do set country=%%a
for /F "delims=" %%a in ('adb shell getprop ro.build.target_operator') do set operator=%%a
for /F "tokens=1 delims=" %%a in ('adb shell dumpsys package com.my.package1^|find "version"') do set package1=%%a
for /F "tokens=1 delims=" %%a in ('adb shell dumpsys package com.my.package2^|find "version"') do set package2=%%a

但是,我仍然迷路了将它传递给vbscript。使用Aacini提供的代码,我希望看到一个名为“theScript.vbs”的文件,但我没有。

2 个答案:

答案 0 :(得分:1)

rem get the values returned by the following adb commands into variables:
for /F "delims=" %%a in ('adb shell getprop ro.product.brand') do set brand=%%a
for /F "delims=" %%a in ('adb shell getprop ro.product.model') do set model=%%a
for /F "delims=" %%a in ('adb shell getprop ro.build.version.release') do set version=%%a

rem pass these variables into a vbscript:
cscript //nologo theScript.vbs

进入TheScript.vbs:

set wshell = WScript.CreateObject("WScript.Shell")
set env = wshell.Environment("PROCESS")
set brand = env("brand")
set model = env("model")
set version = env("version")

我不完全确定获取变量值的VBS语法,但是在this site上搜索 将提供具体细节。

答案 1 :(得分:0)

您可以尝试在temp中存储值。从文件中读取文件或读取或在OS的环境变量中设置值。