dos批处理高级教程set命令详解

dos批处理高级教程set命令详解

ID:34416242

大小:47.00 KB

页数:10页

时间:2019-03-05

dos批处理高级教程set命令详解_第1页
dos批处理高级教程set命令详解_第2页
dos批处理高级教程set命令详解_第3页
dos批处理高级教程set命令详解_第4页
dos批处理高级教程set命令详解_第5页
资源描述:

《dos批处理高级教程set命令详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能.一、用set命令设置自定义变量显示、设置或删除cmd.exe环境变量。SET[variable=[string]]variable指定环境变量名。string指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的SET。SET命令不允许变量名含有等号。注意:以下用法将清除变量variable的值,使其变成未定义状态。SETvariable=上面等号后面无任何符号,如果写成SETvariable="",此时变量值并不为空,而是

2、等于两个引号,即""例子:@echooff2setvar=我是值3echo%var%4pause复制代码请看setvar=我是值,这就是BAT直接在批处理中设置变量的方法!set是命令var是变量名=号右边的"我是值"是变量的值在批处理中我们要引用这个变就把var变量名用两个%(百分号)扩起来,如%var%SET还可以提供一个交互界面,让用户自己输入变量的值,然后我们在来根据这个值来做相应操作,现在我就来说说SET的这种语法,只需要加一个"/P"参数就可以了!SET/Pvariable=[promptString]例子:1@ec

3、hooff2set/pvar=请输入变量的值:3echo您输入了%var%~_~4pause复制代码set/p是命令语法var是变量名=号右边的"请输入变量的值:",这个是提示语,不是变量的值了!运行后,我们在提示语后面直接输入1,就会显示一行您输入了1~_~好了,先回顾到这,现在讲SET其他功能使用set/?查看SET的帮助我们发现SET除了我上面讲的SET[variable=[string]]SET/Pvariable=[promptString]这两种语法外,还有如下几种语法:SET/Aexpression环境变量替换已如

4、下增强:%PATH:str1=str2%%PATH:~10,5%%PATH:~-10%%PATH:~0,-2%这机种语法有什么用处呢?下面我们来一个个讲解他们!二、用set命令进行简单计算语法:SET/Aexpression/A命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式评估器很简单并以递减的优先权顺序支持下列操作:()-分组!~--一元运算符*/%-算数运算符+--算数运算符<<>>-二进制逻辑移位&-二进制按位“与”^-二进制按位“异”

5、-二进制按位“或”=*=/=%=+=-=-算数赋值&=^=

6、=<<=>>

7、=-二进制运算赋值,-表达式分隔符如果SET/A在命令脚本外的命令行执行的,那么它显示该表达式的最后值。除十六进制有0x前缀,八进制有0前缀的,数字值为十进位数字。因此,0x12与18和022相同。请注意八进制公式可能很容易搞混:08和09是无效的数字,因为8和9不是有效的八进制位数。上面这些是系统帮助里的内容,看着是不是有点晕,没关系我来简单解释一下:set的/A参数就是让SET可以支持数学符号进行加减等一些数学运算!注意:一般的运算常为十进制运算,如果数字字符串最左边为0,将被认为是八进制,从而出错。比如,0812之类的数字

8、不能参与十进制运算,转换方法为:10812-10000例:1setaa=08122set/aaa=1%aa%-100003echo%aa%复制代码结果为:812例:4@echooff5set/pinput=请输入计算表达式:6set/avar=%input%7echo计算结果:%input%=%var%8pause复制代码上面的例子是龙卷风设计的,很好用哟,请看下面几个运算过程:注意:DOS计算只能进行整数运算,精确到整数请输入计算表达式:1+9+20+30-10计算结果:1+9+20+30-10=50请按任意键继续...请输入

9、计算表达式:10/3#除法只能精确到整数计算结果:10/3=3请按任意键继续...请输入计算表达式:-100+62#负数计算结果:-100+62=-38请按任意键继续...请输入计算表达式:100%3#求余数计算结果:100%3=1请按任意键继续...注意:以上的求余数运算符%在批处理程序中必须写成%%请输入计算表达式:(25+75)*2/(15+5)#括号计算结果:(25+75)*2/(15+5)=10请按任意键继续...请输入计算表达式:1234567890*9876543210#范围无效数字。数字精确度限为32位。计算结果

10、:1234567890*9876543210=请按任意键继续...注意:上面的计算过程显示,DOS计算只能精确到32位,这个32位是指二进制32位,其中最高位为符号位(0为正,1为负),低位31位为数值。31个1换成十进制为2147483647,所以DOS计算的

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

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

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