中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 05:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]使用for读取文本内容,但遇到空格就会截断 查看 922 回复 5
楼 主 [求助]使用for读取文本内容,但遇到空格就会截断 发表于 2008-07-27 02:25 ·  中国 四川 成都 锦江区 电信
初级用户
★★
积分 159
发帖 56
注册 2006-09-15 10:31
19年会员
UID 62663
状态 离线
比如 我文本中是 app #2
那么for出来的就是 app
而我想要 app #2
请问应该怎么读取
2 发表于 2008-07-27 07:47 ·  中国 广东 广州 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
自己修改截断的方式:

仔细观察,会发现大家实际使用会是

delims=截断符号,然后才是tokens=1,2*之类的。。

这样就可以去掉空格的影响。。
知,不觉多。不知,乃求知
3 发表于 2008-07-27 11:21 ·  中国 四川 成都 电信
初级用户
★★
积分 159
发帖 56
注册 2006-09-15 10:31
19年会员
UID 62663
状态 离线
是这样的,这个需要处理的文本中可能是 app #2 这种中间有空格的词 也可能是 只是 app 的没有空格存在的词
比如 app.txt文本中的内容是:
app #2
app #1
app
app1

所以我使用
for /f "tokens=1,2 delims= " %%a in (app.txt) do
语句就只客户取出类似 app #2 中间有空格的词了 而取不到app

所以我想知道一个通用的语句来读取上面2种情况的词

[ Last edited by lfzzj on 2008-7-27 at 11:25 AM ]
4 发表于 2008-07-27 11:41 ·  中国 广东 中山 电信
初级用户
积分 126
发帖 47
注册 2007-07-02 17:00
19年会员
UID 92952
性别 男
状态 离线
你是不是想要读取整行的内容?
你试试这样看行不
for /f "tokens=1* delims=" %%a in (app.txt) do (echo %%a)
5 发表于 2008-07-27 11:49 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
18年会员
UID 110072
性别 男
状态 离线
for /f "tokens=*" %%a in (app.txt) do echo %%a
6 发表于 2008-07-27 12:26 ·  中国 四川 成都 电信
初级用户
★★
积分 159
发帖 56
注册 2006-09-15 10:31
19年会员
UID 62663
状态 离线
太感谢了
论坛跳转: