批处理文件 – DOS批处理集问题

我有一个问题,设置不能在批处理文件中工作;花了一点时间来解决问题;起初我以为这是用子程序调用

剧本

@echo off
setlocal
set a=aaa
echo a = "%a%"
(
set b=bbb
echo b = "%b%"
)

产生输出

a = "aaa"
b = ""

而我期望

a = "aaa"
b = "bbb"

为什么这样?是DOS中的错误吗?也许有一些关于我不知道的(…)命令分组语法.

谢谢.

用户延迟扩展和!代替 %
@echo off
setlocal enableextensions enabledelayedexpansion
set a=aaa
echo a = "%a%"
(
set b=bbb
echo b = "!b!"
)

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...