批处理set命令注意事项

1. SET命令的使用格式:
             SET [variable=[string]]
                      variable  Specifies the environment-variable name.
                      string    Specifies a series of characters to assign to the variable.

             SET /A expression
             SET /P variable=[promptString]

2. 表达式等号两端切勿多加空格或者引号:
        SET a = 1
        被定义的变量实际是"a "而非"a";其对应的值是" 1"而非"1"。

3. /A 用来标识等号右边的值是数值。因此,请注意进制问题:
        0x开头的是十六进制。
        0开头的是八进制。 (错:SET /A num=08)

4. 要注意延迟环境变量扩展——默认关闭,在IF和FOR中对环境变量赋值不会立即生效。
           set VAR=before
           if "%VAR%" == "before" (
                        set VAR=after
                        if "%VAR%" == "after" @echo If you see this, it worked
           )
        上面的代码永远不会输出"If you see this, it worked",出了if,%VAR%才能得到一个新值。

        可以开启延迟环境变量扩展:
        SETLOCAL ENABLEDELAYEDEXPANSION
        set VAR=before
           if "%VAR%" == "before" (
                        set VAR=after
                        if "!VAR!" == "after" @echo If you see this, it worked
           )
         取变量的值时,用"!"代替"%"。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值