中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 07:00
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]使用for读取文本内容,但遇到空格就会截断
可打印版本  923 / 5
第1楼 lfzzj 发表于 2008-07-27 02:25
初级用户 发帖 56 积分 159
[求助]使用for读取文本内容,但遇到空格就会截断
比如 我文本中是 app #2
那么for出来的就是 app
而我想要 app #2
请问应该怎么读取
第2楼 flyinspace 发表于 2008-07-27 07:47
银牌会员 发帖 517 积分 1,206
自己修改截断的方式:

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

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

这样就可以去掉空格的影响。。
第3楼 lfzzj 发表于 2008-07-27 11:21
初级用户 发帖 56 积分 159
是这样的,这个需要处理的文本中可能是 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楼 zxlxsqzy 发表于 2008-07-27 11:41
初级用户 发帖 47 积分 126
你是不是想要读取整行的内容?
你试试这样看行不
for /f "tokens=1* delims=" %%a in (app.txt) do (echo %%a)
第5楼 523066680 发表于 2008-07-27 11:49
银牌会员 发帖 1,133 积分 2,362
for /f "tokens=*" %%a in (app.txt) do echo %%a
第6楼 lfzzj 发表于 2008-07-27 12:26
初级用户 发帖 56 积分 159
太感谢了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023