批处理 Set 命令详解 让你理解set命令 (2)

批处理Set命令详解 补充篇
一、设置自定义变量
复制代码代码如下:

@echo off 
set var=我是值 
echo %var% 
pause

二、设置自定义变量,并接受用户输入作为值 
复制代码代码如下:

@echo off 
@echo off 
set /p var=请输入变量的值: 
if %var% == 1 echo 您输入了 1 ~_~ 
pause

三、SET /A expression  
set的/A参数就是让SET可以支持数学符号进行加减等一些数学运算! 支持的数学运算包含(优先权递减): 
复制代码代码如下:

() - 分组 
! ~ - - 一元运算符 
* / % - 算数运算符 
+ - - 算数运算符 
<< >> - 逻辑移位 
& - 按位“与” 
^ - 按位“异” 
| - 按位“或” 
= *= /= %= += -= - 赋值 
&= ^= |= <<= >>= 
, - 表达式分隔符 

Batch代码 
复制代码代码如下:

set /a var=2 - 1 结果是多少呢?如果你看不到结果就echo %var%..... 
set /a var=2 * 2 乘法运算 
set /a var=2 / 2 除法运算 
set /a var=(1+1) + (1+1) 结果等于4 看得懂吧! 
set /a a=1+1,b=2+1,c=3+1 运行后会显示一个4,但我们用 
echo %a% %b% %c%后看结果,会发现其他数学运算也有效果!,这就是"斗"号的作用! 

有时候我们需要直接在原变量进行加减操作就可以用这种语法 
set /a var+=1 这样的语法对应原始语法就是set /a var = %var% + 1 
都是一样的结果。 
对于"逻辑或取余操作符",我们需要把他们用双引号引起来,看例子 
Batch代码 
复制代码代码如下:

set /a var= 1 "&" 1 这样结果就显示出来了,其他逻辑或取余操作符用法 
set /a var= 1 "+" 1 异运算 
set /a var= 1 "%" 1 取模运算 
set /a var= 2 "<<" 2 次方运算 
set /a var= 4 ">>" 2 这个不太记得数学里的叫法.... 

这些符号也可以用&= ^= |= <<= >>= 这样的简单用法如 
set /a var"&=" 1 等于set /a var = %var% "&" 1 注意引号 
下面是一个具体的例子:
复制代码代码如下:

@echo off 
set p=123 
title 密码是%p% 
set n=1 
:in 
if %n% gtr 3 goto wrong 
set /p a=请输入您需要登陆的密码: 
if "%a%" equ "%p%" goto right 
set/a n+=1 
goto in 
:right 
echo 猜对了,新年快乐! 
goto end 
:wrong 
echo 已经输过3次了,还不正确,退出! 
:end 
pause 

四、替换变量值的内容  
语法:set newVar="oldVar:str1=str2% 
将变量oldVar的值中的str1替换成str2,并将替换后的变量值赋给newVar. 
看例子 
复制代码代码如下:

@echo off 
set a=bbs.verybat.cn 
echo 替换前的值: "%a%" 
set var=%a:bbs=sss% 
echo 替换后的值: "%var%" 
pause 

对比一下,我们发现他把变量%a%的bbs给替换掉了,换成了sss. 
五、字符串截取  
1、%Var:~start,len% 
注意:从0开始。 
例如: 
复制代码代码如下:

@echo off 
set a=www.jb51.net 
set var=%a:~1,2% 
echo %var% 
pause 

2、%Var:~-len% 
截取倒数len位 
3、%Var:~0,-len% 
截取从第一位开始,倒数第len位结束的值。 
例子 
复制代码代码如下:

@echo off 
set a=www.jb51.net 
set var=%a:~0,-3% 
echo %var% 
pause 

执行后,我们发现显示的是"www.jb51.net",少了"et" 
从结果分析,很容易分析出,这是把变量a的值从0位开始, 

到倒数第三位之间的值全部赋予给var


来源:http://www.jb51.net/article/18973_2.htm

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中的SET命令用于设置SQL*Plus环境变量和系统变量。以下是常用的SET命令及其详细解释: 1. SET AUTOCOMMIT ON/OFF:用于设置是否自动提交事务。当AUTOCOMMIT为ON时,每个SQL语句都会自动提交,而当AUTOCOMMIT为OFF时,需要手动提交。 2. SET DEFINE ON/OFF:用于设置是否开启变量替换。当DEFINE为ON时,SQL*Plus将会把变量替换为其值,而当DEFINE为OFF时,不会替换变量。 3. SET ECHO ON/OFF:用于设置是否显示SQL语句。当ECHO为ON时,SQL语句会显示在屏幕上,而当ECHO为OFF时,则不会显示。 4. SET FEEDBACK ON/OFF:用于设置是否显示操作结果。当FEEDBACK为ON时,SQL语句的操作结果会显示在屏幕上,而当FEEDBACK为OFF时,则不会显示。 5. SET HEADING ON/OFF:用于设置是否显示列标题。当HEADING为ON时,SQL语句的列标题会显示在屏幕上,而当HEADING为OFF时,则不会显示。 6. SET LINESIZE n:用于设置每行显示的字符数。n为一个整数,表示每行最多显示的字符数。 7. SET PAGESIZE n:用于设置每页显示的行数。n为一个整数,表示每页最多显示的行数。 8. SET SERVEROUTPUT ON/OFF:用于设置是否显示PL/SQL块的输出结果。当SERVEROUTPUT为ON时,PL/SQL块的输出结果会显示在屏幕上,而当SERVEROUTPUT为OFF时,则不会显示。 9. SET SQLPROMPT 'string':用于设置SQL*Plus的提示符。string为一个字符串,表示提示符的内容。 10. SET TERMOUT ON/OFF:用于设置是否输出结果到屏幕上。当TERMOUT为ON时,SQL语句的结果会输出到屏幕上,而当TERMOUT为OFF时,则不会输出结果。 以上是Oracle中常用的SET命令及其详细解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值