中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-17 07:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如果将文本里的指定信息提取出来? 查看 1,848 回复 25
16 发表于 2008-04-30 12:22 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
Originally posted by abcd at 2008-4-30 12:13 PM:
可以用14楼的方法啊,

不过个人不大喜欢变量延迟而已.


14楼的方法并不能得到想要的结果,而且没有注解,看不懂!
有没更好的方法呢?
17 发表于 2008-04-30 12:43 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
Originally posted by abcd at 2008-4-30 12:32 PM:
14楼的方法是可以的.



就是通过findstr查找当前目录下的txt文件中所需的信息.
因为一个文本中有三条信息,所以用一个累加数来计算.当m变量等于3时 ...

但是运行之后,得到要结果是:
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .

而且不能输出到文本里

[ Last edited by worldopener on 2008-4-30 at 12:51 PM ]
18 发表于 2008-04-30 12:53 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
不是,结果只显示这些信息
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .
Host Name . . . . . . Physical Address. . . . . IP Address. . . . . . . .
并没有把用户、Mac地址和IP的实际数据显示出来

[ Last edited by worldopener on 2008-4-30 at 12:55 PM ]
19 发表于 2008-04-30 12:54 ·  中国 广东 深圳 宝安区 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
如果把代码里的"*.txt"替换成实际的文件名(如:A.txt)的话,就可以正确地显示想要的信息出来
20 发表于 2008-04-30 13:19 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
你确定是复制14楼的代码吗、?
2楼的是 tokens=2 14的是 tokens=3
致精致简!
21 发表于 2008-04-30 13:24 ·  中国 广东 深圳 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
是的,我复制的代码是tokens=3
22 发表于 2008-04-30 13:26 ·  中国 广东 深圳 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
我的那些文本文件是中文名的,不知有没有关系呢?
23 发表于 2008-04-30 13:28 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
UID 73968
性别 男
状态 离线
运行 findstr /i "host address" *.txt 看看显示什么?贴一部分上来。
致精致简!
24 发表于 2008-04-30 13:52 ·  中国 广东 深圳 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
Originally posted by worldopener at 2008-4-30 01:26 PM:
我的那些文本文件是中文名的,不知有没有关系呢?


A.txt: Host Name . . . . . . . . . . . . : S12

A.txt: Physical Address. . . . . . . . . : 00-04-61-95-93-2E

A.txt: IP Address. . . . . . . . . . . . : 192.168.0.102

B.txt: Host Name . . . . . . . . . . . . : S10

B.txt: Physical Address. . . . . . . . . : 00-04-61-95-93-2E

B.txt: IP Address. . . . . . . . . . . . : 192.168.0.100

C.txt: Host Name . . . . . . . . . . . . : S11

C.txt: Physical Address. . . . . . . . . : 00-04-61-95-93-2E

C.txt: IP Address. . . . . . . . . . . . : 192.168.0.101

我现在把那些文件改成了英文名了
25 发表于 2008-04-30 13:57 ·  中国 广东 深圳 电信
初级用户
积分 44
发帖 20
注册 2008-04-24 10:38
UID 116792
性别 男
状态 离线
我也很奇怪,照你的思路是应该可以实现的啊,但不知道为什么显示不出想要的信息来。
26 发表于 2008-04-30 22:20 ·  中国 福建 福州 连江县 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
UID 74328
性别 男
状态 离线
Originally posted by terrytong at 2008-4-29 18:48:
for /f "delims=:" %%i 应该是截取冒号(:)前面的字符啊,为什么会能截取后面的啊?


在"delims=:"中
冒号(:)仅作为分隔符 自然也能截取后面的数据

比如说文本test.txt内容为
AA:BB:CC

for /f "tokens=1-3 delims=:" %%i in (test.txt) do echo %%i %%j %%k
显示为
AA BB CC

[ Last edited by suntb on 2008-4-30 at 10:25 PM ]
论坛跳转: