中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 23:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于如何读取文本的内容的问题? 查看 906 回复 7
楼 主 关于如何读取文本的内容的问题? 发表于 2007-01-04 07:36 ·  中国 北京 中国中信股份有限公司
初级用户
积分 44
发帖 15
注册 2006-07-19 01:08
20年会员
UID 58825
状态 离线
目录下有一个 1.txt

我用:

for /f "tokens=2 delims==" %%i in (1.txt) do (>>my.txt echo %%i)

没能输出“my.txt” ,而且提示 “此时不应有 %%i。”

这个是什么原因?
2 发表于 2007-01-04 07:39 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
老问题。

命令行下用%i
批处理用%%i
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-01-04 07:45 ·  中国 北京 中国中信股份有限公司
初级用户
积分 44
发帖 15
注册 2006-07-19 01:08
20年会员
UID 58825
状态 离线
刚查到2楼的原因了,确实是这样,但却没能输出“my.txt”
这个是为什么?

1.txt 内容为:
akjdhakjshdkjahfdlkjl <--这里有很多空格

在命令提示下使用:

for /f "tokens=2 delims==" %i in (1.txt) do (>>my.txt echo %i)

没效果啊!
4 发表于 2007-01-04 07:52 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  把你的1.txt文件的内容帖上来看看?
5 1.txt的内容见附件 发表于 2007-01-04 08:38 ·  中国 北京 中国中信股份有限公司
初级用户
积分 44
发帖 15
注册 2006-07-19 01:08
20年会员
UID 58825
状态 离线
1.txt的内容见附件
附件
1.txt (37 bytes, 下载附件所需积分 1 点, 下载次数: 10)
6 发表于 2007-01-04 09:04 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  把 tokens=2 改为 tokens=1 即可。

  其实,这个语句完全可以精简为 for /f "delims=" %%i in (1.txt) do…… 的形式。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
7 发表于 2007-01-04 13:57 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  不知道楼主要提取1.txt里面的什么内容,里面就一行文字,而且连指定的分隔符也没有,汗……


[ Last edited by lxmxn on 2007-1-4 at 01:03 PM ]
8 发表于 2007-01-06 00:34 ·  中国 广东 肇庆 电信
初级用户
★★
积分 152
发帖 74
注册 2005-12-01 23:06
20年会员
UID 46314
状态 离线
顶一下,回家再研究!
论坛跳转: