中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 20:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]有关for中变量延迟的使用问题 查看 813 回复 6
楼 主 [求助]有关for中变量延迟的使用问题 发表于 2007-09-06 11:47 ·  中国 山西 太原 联通
中级用户
★★
积分 216
发帖 81
注册 2007-08-06 12:23
18年会员
UID 94721
性别 男
状态 离线
set a=c d e f g h i j k l m n o p q r s t
for %%k in (%a%)do if exist %%k: call :drive %%k
:drive
for /r %1:\ %%i in (*.mp3) do echo %%i>>c:\1.txt

大家看看这段代码要是用变量延迟的方法该怎么表达呢?

[ Last edited by icyheart on 2007-9-6 at 01:56 PM ]
Crossings must be my teacher
Modest progress can be
2 发表于 2007-09-06 15:42 ·  中国 北京 鹏博士BGP
初级用户
积分 66
发帖 29
注册 2007-09-06 15:09
18年会员
UID 96715
性别 男
状态 离线
我是菜鸟,别笑话我啊 。

你是想把c d e f g h i j k l m n o p q r s t盘里所有的.mp3文件写道c:\1.txt里面是么?
3 发表于 2007-09-06 15:48 ·  中国 山西 太原 联通
中级用户
★★
积分 216
发帖 81
注册 2007-08-06 12:23
18年会员
UID 94721
性别 男
状态 离线
对是这个意思,但是我要用变量延迟表示
Crossings must be my teacher
Modest progress can be
4 发表于 2007-09-06 16:06 ·  中国 北京 鹏博士BGP
初级用户
积分 66
发帖 29
注册 2007-09-06 15:09
18年会员
UID 96715
性别 男
状态 离线
对批处理本身就很菜了。
对那个变量延迟更是不太理解,我也在写个批处理,也用了变量延迟,但总不太好使。
比如:
setlocal EnableDelayedExpansion
set var=5

for /r %%b......
set var=%%~nb

后面引用var的时候还是5,我也不太懂了,就当帮你顶好了
5 发表于 2007-09-06 17:06 ·  中国 北京 海淀区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
貌似这个BAT根本用不到变量延迟
6 发表于 2007-09-06 19:50 ·  中国 山西 太原 联通
中级用户
★★
积分 216
发帖 81
注册 2007-08-06 12:23
18年会员
UID 94721
性别 男
状态 离线
是,不用也行,但是我想用变量延迟表达,该怎么弄呢
Crossings must be my teacher
Modest progress can be
7 发表于 2007-09-14 10:50 ·  中国 湖北 武汉 电信
中级用户
★★
积分 471
发帖 207
注册 2007-05-03 14:53
19年会员
UID 87369
性别 男
状态 离线
Originally posted by icyheart at 2007-9-6 07:50 PM:
是,不用也行,但是我想用变量延迟表达,该怎么弄呢

想在 For /R 里用变量延迟是不大可能滴,换个思路吧。
论坛跳转: