中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 10:43
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » for里面的(set)
可打印版本  902 / 4
第1楼 wode5130xm 发表于 2010-04-30 18:35
新手上路 发帖 10 积分 10
for里面的(set)
在论坛看到很多帖子内容都使用了for循环,让我疑惑的是for里面的(set),怎么有时候要加一对单引号(论坛中有个例子中是这么用的 for....('date /t')....),而有的只需要空格就可以了,还有的要加双引号,这里面具体的规则是什么?可不可以总结一下,免得老是犯迷糊
第2楼 Hanyeguxing 发表于 2010-04-30 19:58
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
在不使用usebackq开关的情况下:
直接被解析的文件,什么都不加
命令要用单引号括起来
变量,用双引号括起来。
第3楼 qzwqzw 发表于 2010-05-01 15:06
银牌会员 发帖 636 积分 2,343
如果不在for/f选项里使用usebackq
Set里什么都不加,for将它看作文件名,获取文件内容进行分析
加‘’,for将它看作命令行,获取命令执行结果进行分析
加“”,for将它看作字符串,直接对其内容进行分析

如果文件名包含空格
文件名就必须用双引号扩起
否则会被for当作两个或多个文件名
此时就必须使用for /f "usebackq" %%v in ("文件名")
否则for将会把set中的文件名当作字符串来处理
第4楼 chardos 发表于 2010-05-01 15:31
初级用户 发帖 16 积分 31
恩 很清楚
第5楼 wode5130xm 发表于 2010-05-03 17:52
新手上路 发帖 10 积分 10
恩,明白了,谢谢了!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023