标题: [文本处理] 批处理为什么无法改变变量的值? [打印本页]
作者: 东北胖子 时间: 2015-10-12 21:49 标题: 批处理为什么无法改变变量的值?
- @echo off
- set a1=0
- if "%a1%" equ "0" (
- set a1=1
- )
- echo %a1%
复制代码
为什么执行后 a1 的值还是0呢。正常应该为1 呀
作者: 尘丶 时间: 2015-10-12 21:58
- @echo off
- set a1=0
- if "%a1%" equ "0" set a1=1
- echo %a1%
复制代码
或者- @echo off&setlocal enabledelayedexpansion
- set a1=0
- if "%a1%" equ "0" (
- set a1=1
- )
- echo !a1!
复制代码
因为他在括号里面,算是复合句。复合句里面设置变量要用变量扩展
作者: /zhqsystem/zhq 时间: 2015-10-12 22:29
我这里运行正常与延迟变量没关系
作者: terse 时间: 2015-10-12 22:29
不是吧 应该是1
作者: 东北胖子 时间: 2015-10-12 22:35
或者因为他在括号里面,算是复合句。复合句里面设置变量要用变量扩展
尘丶 发表于 2015-10-12 21:58
收到,非常感谢。困扰了我好一阵。
作者: 东北胖子 时间: 2015-10-12 22:36
不是吧 应该是1
terse 发表于 2015-10-12 22:29
运行一下就知道了
作者: terse 时间: 2015-10-12 22:51
回复 6# 东北胖子
你改一下 试呢复制代码
作者: 东北胖子 时间: 2015-10-12 23:26
回复 东北胖子
你改一下 试呢
terse 发表于 2015-10-12 22:51
不知道为什么,我的之前的代码也正确了。我彻底晕了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |