中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 请教关于for命令 上一主题 | 下一主题
loadinging
新手上路





积分 3
发帖 3
注册 2009-2-26
状态 离线
『楼 主』:  请教关于for命令

我在使用for /F时希望使用双引号作为delims
我希望使用如下的命令:
for /F "tokens=1,2,3 delims=\"" %i (a.txt) do echo %i,%j,%k

for /F "tokens=1,2,3 delims=^"" %i (a.txt) do echo %i,%j,%k
但是均返回命令语法不正确。

如果斜杠转义字符都不行,我不清楚如何使用 " 做分隔符delims

谢谢大家帮助。

[ Last edited by loadinging on 2010-11-6 at 15:58 ]

2010-11-6 15:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 2 楼』:  

for /F "tokens=1,2,3 delims=""" %i in (a.txt) do echo %i,%j,%k



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2010-11-6 16:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
loadinging
新手上路





积分 3
发帖 3
注册 2009-2-26
状态 离线
『第 3 楼』:  

补充一下a.txt的内容(仅包含一行):

a="x" b="y"

期望的for运行结果
a=,x, b=

首先谢谢二楼的回复,但是我运行结果并没有以"分割a.txt的内容
而是输出了:
a="x" b="y",,
即%i为整个a.txt的内容,%j和%k为空

[ Last edited by loadinging on 2010-11-6 at 16:41 ]

2010-11-6 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 4 楼』:  

sorry,长时间不接触bat,都忘了不能delims双引号



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2010-11-6 17:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 5 楼』:  

这个问题到目前为止没有能够直接用“能够解决分割符的帖子,所以我们一般曲折一下,如下:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set dis=%%i
set dis=!dis:"=[!
        for /f "tokens=1-3 delims=[" %%a in ("!dis!") do (
                echo %%a %%b %%c
        )
)
pause


   此帖被 +1 点积分    点击查看详情   
评分人:【 loadinging 分数: +1  时间:2010-11-8 12:12




http://www.godule.com
2010-11-7 21:37
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
loadinging
新手上路





积分 3
发帖 3
注册 2009-2-26
状态 离线
『第 6 楼』:  

谢谢5楼的帮助~

2010-11-8 12:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: