关于bat的变量赋值和解析机制
以下的演示涉及几个知识点:
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 手机当前连接状态:%%i
set mobileState=%%i
) echo. ::不能使用NOT 否则无法使用()这样多行的语句;
::()中无法写凝视,由于bat把它()当成一行语句,这样凝视就相当于一行中语句一部分
if "device" == "%mobileState%" (
echo 手机已经连接上
) else (
echo 手机未连接
echo.
echo 您的电脑IP当前地址例如以下:
ipconfig|find /I "IPv4"
echo.
call :getIp
call :connect
) ::以下由于是function声明部分,就当这里是bat的末尾,使用goto跳转到bat末尾
GOTO :EOF ::以下是function=============================== ::func 得到用户输入ip
:getIp
set /p ip=输入手机ip地址,以adb连接它
::退出本次回调,跳转到bat尾
GOTO :EOF ::func 使用用户输入ip通过adb连接手机
::由于bat的()当成一行解析,在解析这一行代码时,里面使用到的变量值必须在解析前赋值,在这一行中改变某变量值时,仅仅有在下句语句解析时,才得得到;依据这个特性,无法在一行中改变变量,所以仅仅能把set与get分开写成多行(label)的方式来运行
:connect echo.
echo 尝试连接 %ip%
%qAdb% connect %ip%
::退出本次回调,跳转到bat尾
GOTO :EOF
关于bat的变量赋值和解析机制的更多相关文章
- Linux Shell编程(7)——变量赋值
=赋值操作符(它的左右两边不能有空白符) 不要搞混了=和-eq,-eq是比赋值操作更高级的测试.注意:等于号(=)根据环境的不同它可能是赋值操作符也可能是一个测试操作符.例子:简单的变量赋值 #!/b ...
- 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )
变量: 存储数据的容器 1.声明 var 2.作用域 全局变量. 局部变量. 闭包(相对的全局变量): 3.类型 a.基本类型(undefi ...
- JavaScript解析机制之变量提升
1.什么是预解析? 在当前作用域下,JS 运行之前,会把带有 var 和 function 关键字的事先声明,并在内存中安排好.(这个过程也可以理解为变量提升)然后再从上到下执行 JS 语句(预解析只 ...
- JS的解析机制
JS的解析机制,是JS的又一大重点知识点,在面试题中更经常出现,今天就来唠唠他们的原理.首先呢,我们在我们伟大的浏览器中,有个叫做JS解析器的东西,它专门用来读取JS,执行JS.一般情况是存在作用域就 ...
- javascript解析机制、闭包详解
js解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字: 2.用var定义的变量的名 ...
- JavaScript解析机制与闭包原理实例详解
js代码解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字; 2.用var定义的变量 ...
- 从var func=function 和 function func()区别谈Javascript的预解析机制
var func=function 和 function func()在意义上没有任何不同,但其解释优先级不同:后者会先于同一语句级的其他语句. 即: { var k = xx(); function ...
- javascript解析机制——预解析
JavaScript解析机制是什么? JavaScript解析过程分为两个阶段,一个是编译阶段,另外一个就是执行阶段. * 编译阶段 编译阶段就是我们常说的JavaScript预解析( ...
- 进击JavaScript核心 --- (2)函数和预解析机制
一.函数 每个函数都是 Function类型的实例,也具有属性和方法.由于函数也是一个对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定 1.函数的定义方式 (1).函数声明 fun ...
随机推荐
- HTML标签和文档结构
HTML标签与文档结构 HTML作为一门标记语言,是通过各种各样的标签来标记网页内容的.我们学习HTML主要就是学习的HTML标签. 那什么是标签呢? #1.在HTML中规定标签使用英文的的尖括号即` ...
- [HNOI2006]超级英雄(二分+网络流)
[HNOI2006]超级英雄 题目描述 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目, ...
- 洛谷 P2005 A/B Problem II
P2005 A/B Problem II 题目背景 为了让大家紧张的心情放松一下,这一题题是一道非常简单的题目. 题目描述 给出正整数N和M,请你计算N div M(N/M的下取整). 输入输出格式 ...
- [Python] Scatter Plot for daily return
Sploe = 2: means that SPY move up 1, ABC move up 2 Correlation: how close those dots close to the li ...
- android 2048游戏实现
android 的2048小游戏完整实现:GridLayout布局(android 4.0及以上). 曾经做过一个2048的算法题,学了几天android,认为能够实现个安卓版的.也就动手写了个. 包 ...
- php 读取windows 的系统版本,硬盘,内存,网卡,数据流量等
php 读取windows 的系统版本,硬盘,内存,网卡,数据流量等 <?php header("Content-type: text/html; charset=utf-8" ...
- 分享vue中 slot用法
//slot默认用法 //slot带参数name用法
- 电脑无法上网,DHCP客户端不能正确获取IP地址
问题特征:DHCP服务器更新[保留]配置信息后,给一客户端绑定了新的IP地址;但客户端IP地址并未正确更新; 处理: 一.检查DHCP服务器配置; 1.MAC地址.IP地址均正确;并已“添加到筛选器” ...
- vue抽取公共方法———方法一
方法一:Vue插件 1.概述 作用:满足vue之外的需求,特定场景的需求 比如说,让你在每个单页面组件里,都可以调用某个方法(公共方法),或者共享某个变量等 2.使用方法 [声明插件]- [写插件]- ...
- pycharm 添加注册码
https://blog.csdn.net/u014044812/article/details/78727496