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 ]
本帖最近评分记录
(共 4 条)
点击查看详情
| 评分人 | 分数 | 时间 |
| NWQ |
+1 |
2007-01-30 02:49 |
| zhclvip |
+2 |
2007-01-31 04:07 |
| oilio |
+2 |
2007-02-02 01:00 |
| shaqiu |
+1 |
2007-03-31 10:53 |
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._