bat语法 系统 (重点变量)

bat语法 系统 (重点变量)

ID:37453381

大小:118.00 KB

页数:8页

时间:2019-05-24

bat语法 系统 (重点变量)_第1页
bat语法 系统 (重点变量)_第2页
bat语法 系统 (重点变量)_第3页
bat语法 系统 (重点变量)_第4页
bat语法 系统 (重点变量)_第5页
资源描述:

《bat语法 系统 (重点变量)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、脚本语言-BAT1.概述1.1简介BAT(批处理文件)就是将一条条命令放在文本里,然后批量执行。1.2开发工具记事本或者EditPlus,但无法调试。虽然有第三方的IDE,也可以调试,但用起来都不顺手。1.3其它? 打开命令提示符:开始->运行->cmd.exe? 配置命令提示符:开始->运行->regedit.exe注册表项HKEY_CURRENT_USERConsole,开启QuickEdit快速编辑2.语法2.1变量BAT的世界里一切皆命令,却没有函数的概念,所以和其它语言相比,其对变量使用和处理就比较麻烦。2.1.1变量声明

2、和赋值? 声明并赋值(字符串)(默认)set/Pvar=[string]? 声明并赋值(数字)set/Aexpression? 查看已定义的变量set[var]? 销毁变量setvar=? 指明变量的作用域整个bat(默认)语句块(setlocal/endlocal)2.1.2变量使用? 引用单个变量%var%? 字符串连接%var%%var%? 字符串截取%var:~10,5%,偏移10个字符后,取其后5个字符,类似substring%var:~0,5%,取左边的5个字符,类似left(var,5)%var:~-5%,取右边的5个字

3、符,类似right(var,5)? 字符串替换%var:str1=str2%,将变量var中,含有str1的字符替换为str2,类似replace? 类似js里的eval(通常用于BAT的代码混淆实现简单的加密)setvar=dir%var%2.1.3系统变量? %DATE%用跟DATE命令同样的格式扩展到当前日期。? %TIME%用跟TIME命令同样的格式扩展到当前时间。? %RANDOM%扩展到0和32767之间的任意十进制数字。? %ERRORLEVEL%扩展到当前ERRORLEVEL数值。? 环境变量使用set查看2.2流程控

4、制2.2.1if? 判断上一个命令的返回值IF[NOT]ERRORLEVELnumbercommand? 判断变量的值(字符串比较)IF[NOT]string1==string2command? 判断变量的值(数字比较)IF%ERRORLEVEL%LEQ1(EQU:等于、NEQ:不等于、LSS:小于、LEQ:小于或等于、GTR:大于、GEQ:大于或等于)? 判断文件是否存在IF[NOT]EXISTfilenamecommand2.2.2goto? 使用gotolabel? 声明:label2.2.3pause暂停批处理执行,并等待用户

5、按任意键后继续2.2.4call调用另一个批处理文件,等子批处理执行完后,返回主批处理并继续执行后续命令(如果不用call而直接调用别的批处理文件,那么将无法返回)。2.2.5for? 对一个set进行操作(可以是使用通配符后的文件、或指定的列表)(使用空格或逗号分隔)FOR%variableIN(set)DOcommand[command-parameters]? /L选项(使用数字作为种子)FOR/L%variableIN(start,step,end)DOcommand[command-parameters]? /F选项(它能够

6、对字符串进行操作,也能够对命令的返回值进行操作,还可以访问硬盘上的ASCII码文件)FOR/F["options"]%variableIN("string")DOcommand[command-parameters]FOR/F["options"]%variableIN('command')DOcommand[command-parameters]FOR/F["options"]%variableIN(file-set)DOcommand[command-parameters]在for循环中,当一个变量被多次赋值时,%var%所获取的

7、仅仅是var第一次被赋予的值。要想刷新var的值,就必须首先通过命令"setlocalenabledelayedexpansion"来开启延迟变量开关,然后用!var!来获取var的值(感叹号!是变量百分号%的强化版)。2.3管道重定向操作符? >将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中示例1:echo写到文件的文字>文件.txt(若文件.txt不存在就创建,若存在就重写)示例2:dir1>nul(将出错信息输出到空设备)示例3:di2>nul(将结果输出到空设备)(1标准输出,2错误输出,默认为1)? 

8、<从文件中而不是从键盘中读入命令输入示例1:sort<文件.txt(对文件.txt内容进行排序)示例2:set/Pvar=>将命令输出添加到文件末尾而不删除文件中的信息示

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。