中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 10:47
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 如果将文本里的指定信息提取出来?
可打印版本  1,987 / 25
第16楼 worldopener 发表于 2008-04-30 12:22
初级用户 发帖 20 积分 44
Originally posted by abcd at 2008-4-30 12:13 PM:
可以用14楼的方法啊,

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


14楼的方法并不能得到想要的结果,而且没有注解,看不懂!
有没更好的方法呢?
第17楼 worldopener 发表于 2008-04-30 12:43
初级用户 发帖 20 积分 44
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楼 worldopener 发表于 2008-04-30 12:53
初级用户 发帖 20 积分 44
不是,结果只显示这些信息
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楼 worldopener 发表于 2008-04-30 12:54
初级用户 发帖 20 积分 44
如果把代码里的"*.txt"替换成实际的文件名(如:A.txt)的话,就可以正确地显示想要的信息出来
第20楼 26933062 发表于 2008-04-30 13:19
银牌会员 发帖 879 积分 2,268
你确定是复制14楼的代码吗、?
2楼的是 tokens=2 14的是 tokens=3
第21楼 worldopener 发表于 2008-04-30 13:24
初级用户 发帖 20 积分 44
是的,我复制的代码是tokens=3
第22楼 worldopener 发表于 2008-04-30 13:26
初级用户 发帖 20 积分 44
我的那些文本文件是中文名的,不知有没有关系呢?
第23楼 26933062 发表于 2008-04-30 13:28
银牌会员 发帖 879 积分 2,268
运行 findstr /i "host address" *.txt 看看显示什么?贴一部分上来。
第24楼 worldopener 发表于 2008-04-30 13:52
初级用户 发帖 20 积分 44
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楼 worldopener 发表于 2008-04-30 13:57
初级用户 发帖 20 积分 44
我也很奇怪,照你的思路是应该可以实现的啊,但不知道为什么显示不出想要的信息来。
第26楼 suntb 发表于 2008-04-30 22:20
高级用户 发帖 277 积分 581
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 ]
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023