中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
<<   [1] [2]  >>   >
作者:
标题: 求for中usebackq的用法讲解 上一主题 | 下一主题
zhclvip
初级用户





积分 138
发帖 50
注册 2007-1-23
状态 离线
『楼 主』:  求for中usebackq的用法讲解

usebackq - 指定新语法已在下类情况中使用: 在作为命令执行一个后引号的字符串并且一个单 引号字符为文字字符串命令并允许在 filenameset 中使用双引号扩起文件名称。 仅看这个说明,让人一头雾水。请高手讲解! 补充一点,请看下面的帖子 [ Last edited by zhclvip on 2007-2-1 at 10:39 AM ]


2007-1-30 00:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 2 楼』:  

for的帮助信息中提示:
  ……    对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使 用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
例:假如当前目录有一个含有空格的文件名: “ABC 123.TXT”   使用for命令读出其文件内容。   如果不使用 usebackq 参数,则假如指令如下:   (注:此指令直接在命令行键入,为演示方便。如要写在批处理文件中,请在for中使用双百分号)
for /f "tokens=*" %i in ("ABC 123.TXT") do echo %i
  (输出结果:ABC 123.TXT) 但上面结果并非我们意愿结果(即,要显示“ABC 123.TXT”这个文件的每一行内容)。 因为for把括引ABC 123.TXT的引号解释为括引一个字符串之用的引号了,所以for认为 "ABC 123.TXT" 是字符串,而不是文件名。 按照for提供的更方便的参数 usebackq ,如下使用:
for /f "usebackq tokens=*" %i in ("ABC 123.TXT") do echo %i
当使用 usebackq 参数时,for正确解释了括引这个含有空格文件名的引号,也正常读取出了这个含有空格文件名的文件内容了:) 【 标题/正文 检索主题词: USEBACKQ 】 [ Last edited by redtek on 2007-1-29 at 01:04 PM ]


   此帖被 +6 点积分    点击查看详情   
评分人:【 NWQ 分数: +1  时间:2007-1-30 02:49
评分人:【 zhclvip 分数: +2  时间:2007-1-31 04:07
评分人:【 oilio 分数: +2  时间:2007-2-2 01:00
评分人:【 shaqiu 分数: +1  时间:2007-3-31 10:53




    Redtek,一个永远在网上流浪的人…… _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-1-30 01:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
boluor
初级用户




积分 129
发帖 54
注册 2007-1-4
来自 武大信息学部
状态 离线
『第 3 楼』:  

我也正在这里困惑呢?? ...豁然..


2007-1-30 06:06
查看资料  发送邮件  发短消息 网志  OICQ (382553030)  编辑帖子  回复  引用回复
g4rr
初级用户





积分 68
发帖 32
注册 2007-1-24
来自 广东潮州
状态 离线
『第 4 楼』:  

redtek兄的解释就是详细.让人容易理解.呵呵 谢谢!


2007-1-31 03:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhclvip
初级用户





积分 138
发帖 50
注册 2007-1-23
状态 离线
『第 5 楼』:  

还有一点问题: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 此处使用了usebackq,为何不用tokens=2就能取到=后面的内容?


2007-2-1 23:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
oilio
高级用户

前进者


积分 641
发帖 303
注册 2007-1-10
状态 离线
『第 6 楼』:  

谢谢了,这个我也一直直犯迷糊了,现在明白了,谢谢redtek




我相信总有一天,总会遇到一个人可以相濡以沫、相吻以湿!
2007-2-2 01:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jianyaogao
初级用户




积分 49
发帖 22
注册 2005-8-4
状态 离线
『第 7 楼』:  

ming bai le yi dian


2007-3-17 22:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netchxing
初级用户





积分 58
发帖 31
注册 2007-1-6
来自 重庆
状态 离线
『第 8 楼』:  

明白了,谢谢


2007-3-20 10:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fd2000
初级用户





积分 24
发帖 11
注册 2007-3-30
状态 离线
『第 9 楼』:  

Originally posted by zhclvip at 2007-2-1 10:37 AM: 还有一点问题: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 此处使用了usebackq,为何不用tokens=2就能取到=后面的内容?
这里怎么也会出现 usebackq 呢?请帮忙解释一下,谢谢!


2007-3-30 15:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shaqiu
初级用户





积分 27
发帖 15
注册 2007-3-24
状态 离线
『第 10 楼』:  

真实厉害 还让我明白了%与%%的区别


2007-3-31 10:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fd2000
初级用户





积分 24
发帖 11
注册 2007-3-30
状态 离线
『第 11 楼』:  

Originally posted by zhclvip at 2007-2-1 10:37 AM: 还有一点问题: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 此处使用了usebackq,为何不用tokens=2就能取到=后面的内容?
是取的=前面的内容


2007-4-2 07:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
13579246810
初级用户





积分 45
发帖 21
注册 2007-3-14
状态 离线
『第 12 楼』:  

为什么 我用了 for /f "usebackq delims==" %i in ('set') do @echo %i 后我得到的却是 set 这三个字母???


2007-4-2 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ngd
中级用户

拟谷盗


积分 312
发帖 108
注册 2007-1-21
状态 离线
『第 13 楼』:  

Originally posted by 13579246810 at 2007-4-2 23:55: 为什么 我用了 for /f "usebackq delims==" %i in ('set') do @echo %i 后我得到的却是 set 这三个字母???
符号错了,是倒引号`,而不是单引号'
 for /f "usebackq delims==" %i in (`set`) do @echo %i




FLOSS
2008-3-11 16:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 14 楼』:  

for /f "usebackq delims==" %i in (`set`) do @echo %i
和for /f "delims==" %i in ('set') do @echo %i执行结果一样
[ Last edited by haiou327 on 2008-8-7 at 10:06 PM ]




2008-8-7 22:04
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 15 楼』:  

倒引号 ` 主要用在什么地方?


2008-9-28 10:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: