中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-13 00:20
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » SET帮助文件,有些地方不明白。请指点。谢谢。 查看 1,235 回复 3
楼 主 SET帮助文件,有些地方不明白。请指点。谢谢。 发表于 2007-11-26 10:59 ·  中国 湖北 武汉 教育网
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
@echo off
set VAR=after
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)


@echo off
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
但是我这里两个什么都不显示。

set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%

应该返回全部文件啊
我这却返回 !LIST! q.bat ::q.bat 是最后一个文件

set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
返回q.bat
2 发表于 2007-11-26 14:15 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
脚本前面加上“Setlocal EnableDelayedExpansion”这样一句,作用是开启批处理脚本变量延迟扩展。

请搜索批处理室里的相关贴子,关键字:“变量延迟” or “Setlocal EnableDelayedExpansion”。
3 发表于 2007-11-26 17:01 ·  韩国 LG
初级用户
积分 66
发帖 32
注册 2007-10-23 09:54
18年会员
UID 100513
性别 男
状态 离线
谢谢!知道了.
4 发表于 2007-11-27 00:01 ·  中国 浙江 温州 电信
初级用户
积分 31
发帖 16
注册 2007-10-24 00:08
18年会员
UID 100602
性别 男
状态 离线
要学的东西实在是好多
论坛跳转: