Board logo

标题: 请教关于for命令 [打印本页]

作者: loadinging     时间: 2010-11-6 15:50    标题: 请教关于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 ]
作者: ccwan     时间: 2010-11-6 16:06
for /F "tokens=1,2,3 delims=""" %i in (a.txt) do echo %i,%j,%k
作者: loadinging     时间: 2010-11-6 16:39
补充一下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 ]
作者: ccwan     时间: 2010-11-6 17:04
sorry,长时间不接触bat,都忘了不能delims双引号
作者: huahua0919     时间: 2010-11-7 21:37
这个问题到目前为止没有能够直接用“能够解决分割符的帖子,所以我们一般曲折一下,如下:
CODE:  [Copy to clipboard]
@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

作者: loadinging     时间: 2010-11-8 12:12
谢谢5楼的帮助~




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5