批处理中set设置变量

1.作用:显示、设置或删除 cmd.exe 环境变量。

SET [variable=[string]]

variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。

#基础用法
set                    #显示目前所有可用的变量,包括系统变量和自定义的变量                                    
echo %SystemDrive%     #显示系统盘盘符。系统变量可以直接引用                                                  
set p                  #显示所有以p开头的变量,要是一个也没有的话就设errorlevel=1                                 
set p=qwerdfzxc        #设置变量p,并赋值为 = 后面的字符串,即qwerdfzxc     

#变量的引用及赋值                                                                                           
echo %p%          #显示变量p代表的字符串,即qwerdfzxc                                                     
echo %p:~3%       #显示变量p中第3个字符以后的所有字符,即rdfzxc                                           
echo %p:~3,3%     #显示第3个字符以后的3个字符,即rdf                                                      
echo %p:~0,3%     #显示前3个字符,即qwe                                                                   
echo %p:~-2%      #显示最后面的2个字符,即xc                                                              
echo %p:~0,-2%    #显示除了最后2个字符以外的其它字符,即qwerdfz                                           
echo %p:q=aa%     #用c替换变量p中所有的q,即显示aawerdfz                                                 
echo %p:q=%      #将变量p中的所有q字符串置换为空,即显示werdfzxc                                     
echo %p:*we=c%    #第一个bb及其之前的所有字符被替换为c,即显示crdfzxc                                     
set p=%p:*q=c%    #设置变量p,赋值为 %p:*q=c% ,即cwerdfzxc                                               
set /a p=39       #设置p为数值型变量,值为39                                                              
set /a p=39/10    #支持运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3set /a p=p/10                     
                  #用 /a 参数时,在 = 后面的变量可以不加%直接引用set /a p="1&0"                           
                  #"与"运算,要加引号。其它支持的运算符参见set/?                                          
set p=            #取消p变量                                                                              
set /p p=         #请输入屏幕上显示"请输入",并会将输入的字符串赋值给变量p注意这条可以用来取代 choice 命令

2.常见变量
%CD%                  #代表当前目录的字符串
%DATE%                #当前日期
%TIME%                #当前时间
%RANDOM%              #随机整数,介于0~32767
%ERRORLEVEL%          #当前ERRORLEVEL 值
%CMDEXTVERSION%       #当前命令处理器扩展名版本号
%CMDCMDLINE%          #调用命令处理器的原始命令行可以用echo命令查看每个变量值,如 echo %time%
注意 %time%精确到毫秒,在批处理需要延时处理时可以用到
3.在 SET 命令中添加了两个新命令行开关:
SET 命令不允许变量名含有等号。
    SET /A expression
    SET /P variable=[promptString]
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式
评估器很简单并以递减的优先权顺序支持下列操作:
    ()                  - 分组
    ! ~ -               - 一元运算符
    * / %               - 算数运算符
    + -                 - 算数运算符
    << >>               - 逻辑移位
    &                   - 按位“与”
    ^                   - 按位“异”
    |                   - 按位“或”
    = *= /= %= += -=    - 赋值
      &= ^= |= <<= >>=
    ,                   - 表达式分隔符
   
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值