.bat学习-基础语法(常用)
发布日期:2021-06-30 10:36:04
浏览次数:2
分类:技术文章
本文共 1789 字,大约阅读时间需要 5 分钟。
一般来说,脚本或者语言都有相同地方
定义变量,输入,输出,判断条件等等。知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西。
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=10set a=12&echo %a%设置启用这个选项后就可以正确输出我们预期,需要进行一点小改动,echo %a%要改成 echo !a!
1. 定义变量
set 变量名=变量值
2.输出
2.1 输出信息到控制台
echo "字符串"
2.2 新建文件,输出内容到文件
ECHO 文件内容>文件名>是将文件中内容全部替换,>>是在文件最后追加内容
3. 条件控制语句
if aa==AA( echo "is equal")else( echo "compare is not equal")if exist 判断文件是否存在if not exist not表示相反,也可以使用下面的equ,等来尽心操作比较equ 等于 ==gtr 大于 >geq 大于或等于 >=lss 小于
4 循环
for %%I in (A,B,C) do echo %%I以逗号为分隔符,循环三次输出ABC将逗号换为空格、跳格、逗号或等号,输出的结果和上面都是一样的。这些符号都是作为分割元素的符号
5其他常用语法
:name//设置标签,可以使用goto name,使程序跳到这个标签继续执行程序goto//流程跳转语句,同上解释shift//更改批处理文件中可替换参数的位置,原本最大参数%0~%9//如果有11个参数时,需要调用shift /1 将第2个参数作为%0位置,这样我们//就可以获取到第11个参数,也就是%9//shift 如果后面不带/n,则默认截掉第一个参数,第二个作为%0call "xxx.bat" arguments//在当前批处理文件中调用另一个bat文件,执行完后会回到当前文件中继续执行操作,arguments作为执行xxx.bat文件的启动参数
6其它系统变量
%CD% //返回当前目录路径%DATE% //返回当前日期%ERRORLEVEL%//系统 返回上一条命令的错误代码。通常用非零值表示错误%NUMBER_OF_PROCESSORS%//系统 指定安装在计算机上的处理器的数目%temp%=C:\Users\HELLOW~1\AppData\Local\Temp//返回系统的临时文件存放路径%~nx0 就是表示程序的名称+扩展名"%~f0" : 简单说就是表示当前命令的绝对路径."%*" : 我们知道 %1 表示第一个参数, 依次类推, %2 表示第二个.... 那么 %* 就很好理解了, 代表所有参数.
@echo (off|on)关闭或打开回显命令
PAUSE 停止dos窗口,一般在最后调用,防止dos窗口关闭
转载地址:https://it-chengzi.blog.csdn.net/article/details/104714825 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月29日 00时09分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【Accumulation】The definition of SISR
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【个人实验注意事项】
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30
【解决错误】The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1
2019-04-30
word文档中实现目录索引中标题加粗,前导符和页码不加粗
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30
《知识图谱》阅读笔记(六)
2019-04-30