码迷,mamicode.com
首页 > 其他好文 > 详细

.bat学习-基础语法

时间:2018-11-23 21:00:44      阅读:656      评论:0      收藏:0      [点我收藏+]

标签:基础语   span   使用   需要   系统   window   class   改变   ==   

一般来说,脚本或者语言都有相同地方

定义变量,输入,输出,判断条件等等。知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西。

 

bat为批处理脚本BATCH。现在只知道是使用于windows操作系统用来执行操作的批处理脚本

 

基础之前setlocal和endlocal

在一个bat文件内定义变量之前,一定要文件头部调用一个命令

setlocal

设置临时改变系统变量,,这样我们定义或修改变量,只对本bat文件有效。

我们获取到的系统环境变量如PATH,或者JAVA_HOME只是系统环境变量的值的拷贝,不会对原系统环境变量有任何影响

假设我们系统环境变量Path=“aa”

系统变量进行修改为Path=“aabb”

当bat文件执行完毕,

会默认调用endlocal。结束批处理文件中环境改动的本地化操作。

我们在cmd命令行中执行下面命令

echo %PATH%

输出的还是原本的系统环境变量值

 

但是如果我们主动调用endlocal命令后,在进行PATH变量进行修改,

然后又调用call "aa.bat" start ,,如果我们在aa.bat文件中用到Path变量时,就不是我们想要的变量值aa的。

 

基础语法

setlocal enabledelayedexpansion
设置延迟环境变量扩展,
cmd脚本会对每一行命令进行预处理,有一个变量识别过程,遇到%引用变量时,会查找这个变量的值,然后对这个变量名称进行值替换
对于下面的预处理,会先查找到a的值为10,然后替换echo %a%,==>echo 10,这就不是我们预期的结果,
set a=10
set a=12&echo %a%
设置启用这个选项后就可以正确输出我们预期,需要进行一点小改动,echo %a%要改成 echo !a!

set 变量名=变量值

 

.bat学习-基础语法

标签:基础语   span   使用   需要   系统   window   class   改变   ==   

原文地址:https://www.cnblogs.com/gne-hwz/p/10009130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!