中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 02:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教关于for命令 查看 1,313 回复 5
楼 主 请教关于for命令 发表于 2010-11-06 15:50 ·  中国 北京 房山区 联通
新手上路
积分 3
发帖 3
注册 2009-02-26 06:51
17年会员
UID 139996
性别 男
状态 离线
我在使用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 ]
2 发表于 2010-11-06 16:06 ·  中国 北京 华为云
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
for /F "tokens=1,2,3 delims=""" %i in (a.txt) do echo %i,%j,%k
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2010-11-06 16:39 ·  中国 北京 房山区 联通
新手上路
积分 3
发帖 3
注册 2009-02-26 06:51
17年会员
UID 139996
性别 男
状态 离线
补充一下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 ]
4 发表于 2010-11-06 17:04 ·  中国 北京 华为云
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
sorry,长时间不接触bat,都忘了不能delims双引号
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
5 发表于 2010-11-07 21:37 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
这个问题到目前为止没有能够直接用“能够解决分割符的帖子,所以我们一般曲折一下,如下:

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
set dis=%%i
set dis=!dis:"=





本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
loadinging +1 2010-11-08 12:12
6 发表于 2010-11-08 12:12 ·  美国 亚拉巴马州 利 欧佩莱卡 Charter_Communications
新手上路
积分 3
发帖 3
注册 2009-02-26 06:51
17年会员
UID 139996
性别 男
状态 离线
谢谢5楼的帮助~
论坛跳转: