中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 08:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for里面的(set) 查看 901 回复 4
楼 主 for里面的(set) 发表于 2010-04-30 18:35 ·  中国 湖北 武汉 教育网
新手上路
积分 10
发帖 10
注册 2010-04-22 15:45
16年会员
UID 165243
性别 男
状态 离线
在论坛看到很多帖子内容都使用了for循环,让我疑惑的是for里面的(set),怎么有时候要加一对单引号(论坛中有个例子中是这么用的 for....('date /t')....),而有的只需要空格就可以了,还有的要加双引号,这里面具体的规则是什么?可不可以总结一下,免得老是犯迷糊
2 发表于 2010-04-30 19:58 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
在不使用usebackq开关的情况下:
直接被解析的文件,什么都不加
命令要用单引号括起来
变量,用双引号括起来。
3 发表于 2010-05-01 15:06 ·  中国 山西 临汾 侯马市 电信
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
如果不在for/f选项里使用usebackq
Set里什么都不加,for将它看作文件名,获取文件内容进行分析
加‘’,for将它看作命令行,获取命令执行结果进行分析
加“”,for将它看作字符串,直接对其内容进行分析

如果文件名包含空格
文件名就必须用双引号扩起
否则会被for当作两个或多个文件名
此时就必须使用for /f "usebackq" %%v in ("文件名")
否则for将会把set中的文件名当作字符串来处理
4 发表于 2010-05-01 15:31 ·  中国 四川 成都 电信
初级用户
积分 31
发帖 16
注册 2010-03-04 14:23
16年会员
UID 161569
性别 男
状态 离线
恩 很清楚
5 发表于 2010-05-03 17:52 ·  中国 湖北 武汉 教育网
新手上路
积分 10
发帖 10
注册 2010-04-22 15:45
16年会员
UID 165243
性别 男
状态 离线
恩,明白了,谢谢了!
论坛跳转: