以下的演示涉及几个知识点:

1. 怎样把命令输出内容保存到变量中?

2. 多次改变变量值,为什么在for或是if的()中的无效,怎样变通?

3. bat的function实现?

见代码,和代码凝视

::@echo off
::adb的绝对路径
set qAdb="d:\Program Files (x86)\android-sdks\platform-tools\adb.exe"
echo ADB.exe绝对路径是: %qAdb%::通过for能使用``来返回命令的输出到变量中的特点,达到把命令输出结果保存到变量的目的
FOR /F "usebackq delims==" %%i IN (`%qAdb% get-state`) do (echo 手机当前连接状态:%%iset mobileState=%%i
)echo.::不能使用NOT 否则无法使用()这样多行的语句;
::()中无法写凝视,由于bat把它()当成一行语句,这样凝视就相当于一行中语句一部分
if "device" == "%mobileState%" (echo 手机已经连接上
) else (echo 手机未连接echo.echo 您的电脑IP当前地址例如以下:ipconfig|find /I "IPv4"echo.    call :getIpcall :connect
)::以下由于是function声明部分,就当这里是bat的末尾,使用goto跳转到bat末尾
GOTO :EOF::以下是function===============================::func 得到用户输入ip
:getIpset /p ip=输入手机ip地址,以adb连接它
::退出本次回调,跳转到bat尾
GOTO :EOF::func 使用用户输入ip通过adb连接手机
::由于bat的()当成一行解析,在解析这一行代码时,里面使用到的变量值必须在解析前赋值,在这一行中改变某变量值时,仅仅有在下句语句解析时,才得得到;依据这个特性,无法在一行中改变变量,所以仅仅能把set与get分开写成多行(label)的方式来运行
:connectecho.echo 尝试连接 %ip%%qAdb% connect %ip%
::退出本次回调,跳转到bat尾
GOTO :EOF

关于bat的变量赋值和解析机制相关推荐

  1. R语言进阶 | 变量赋值背后的机制与R语言内存优化

    为什么要了解变量赋值? 变量赋值牵涉到对象和变量名,理解对象和变量名之间的区别和联系将对你有如下帮助: (1)帮助你更精准预测代码的行为和内存的使用情况:(2)避免代码运行过程中不必要的对象复制,从而 ...

  2. 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )

    变量:  存储数据的容器 1.声明        var 2.作用域全局变量. 局部变量. 闭包(相对的全局变量): 3.类型a.基本类型(undefined, null, boolean, numb ...

  3. 怎样在for循环变量中,将循环变量赋值给一个变量 批处理 bat

     点击查看博主技术栈 预处理机制:批处理读取命令时是按行读取的(另外例如 for 命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量赋 ...

  4. mosn 中的context、变量 和 内存复用机制

    mosn 中的context.变量 和 内存复用机制 在梳理变量机制中,发现与context.对象复用等机制都有一定关联,而context是贯穿始终的关键,所以本来只想记录变量机制,结果对contex ...

  5. javascript解析机制——预解析

    JavaScript解析机制是什么? JavaScript解析过程分为两个阶段,一个是编译阶段,另外一个就是执行阶段. * 编译阶段         编译阶段就是我们常说的JavaScript预解析( ...

  6. python 同时给多个变量赋值

    python中可以同时给多个变量赋值,下面列举了三种方法 # Assign values directly a, b = 0, 1 assert a == 0 assert b == 1# Assig ...

  7. 转赋值表达式解析的流程

    转自:http://www.cnblogs.com/nazhizq/p/6520072.html 上节说到表达式的解析问题,exprstate函数用于解析普通的赋值表达式.lua语言支持多变量赋值.本 ...

  8. c++ 静态变量赋值_Python变量及常量解释说明

    变量 (1)在计算机程序中,变量不仅可以是数字,还可以是任意数据类型, 变量子啊程序中就是一个变量名表示的,变量名必须是大小写英文,数字,和"_"的组合,切不能以数字开头. a = ...

  9. 如何理解JavaScript中给变量赋值,是引用还是复制

    一.JavaScript中值的类型 JavaScript中的值分为2大类:基本类型和引用类型.每种类型下面又分为5种类型. 基本类型: 数字类型:Number:字符串类型:String:布尔类型:Bo ...

最新文章

  1. 27. FormPanel类的defaults属性
  2. 脑电分析系列[MNE-Python-6]| Python读取.set文件和.locs文件
  3. 树莓派3上安装kali后的相关配置kali(2)
  4. Android 自定义view的知识梳理。
  5. python简单例子lof_Python的净值数据接口调用示例分享
  6. winxp制作服务器,你要知道的WinXP服务器操作系统安装的方法
  7. 并查集图冲突hdu1272
  8. QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置
  9. tomcat集成activeMq 简单例子
  10. Qt制作贪吃蛇小游戏
  11. Linux命令iconv
  12. 计算机软件毕业设计项目源码大全
  13. 疫情之下要不要转行?
  14. SAP MM模块-库存盘点BAPI的使用及注意点
  15. 【Android面试题】准备、hr面试问题总结
  16. 人才管理是什么意思_复合型人才是什么意思(复合型人才八种能力)
  17. 目前ipad协议和安卓协议能实现微信百分之90功能 扫码进群 注册 阅读 关注支付功能等都能实现吗?ipad协议源码
  18. 获取字符串长度的几种办法
  19. Netty | 开启 Linux 平台下的 Native
  20. Laya Class

热门文章

  1. 去除字符串中指定字符
  2. JUC并发编程六 并发架构--偏向锁
  3. 常考数据结构与算法:单链表的排序
  4. mybaits十二:使用collection嵌套结果集查询
  5. iOS Swift GCD 开发教程
  6. iOS计算输入字符数
  7. rocketmq消费负载均衡--push消费为例
  8. sql中set命令解析
  9. 「原创」马云又嗨啦,云栖音乐节与李健同台飙歌,把健哥都带跑调了
  10. 智慧城市成为国家战略 浙江同兴股份乘势迈进