lhy6456210 发表于 2010-10-19 19:53:01

FilereadLine读取行的问题(已解决)

本帖最后由 lhy6456210 于 2010-10-20 13:31 编辑

大有看下面的txt文件:


代码如下:#include <Process.au3>
_rundos("ipconfig /all>d:\ip.txt")
$a=FileOpen ("d:\ip.txt",0)
$b=FileReadLine ($a,27)
$c=StringRight ($b,17)
MsgBox (0,"正确的MAC地址","正确的MAC地址为:"&$c)Physical Address. . . . . . . . . : 00-13-8F-2C-68-09    这一行从上面数下来是14行,为什么上面的代码是27行呢??

afan 发表于 2010-10-19 20:00:19

上传你的 ip.txt 看看

lhy6456210 发表于 2010-10-19 20:25:38

回复 2# afan


    ok,马上,上传

lhy6456210 发表于 2010-10-19 20:29:49

回复 2# afan


    上传不了附件,,就是用ipconfig /all d:\ip.txt生成的文件,

水木子 发表于 2010-10-19 20:59:23

本帖最后由 水木子 于 2010-10-19 21:05 编辑

附件上传不了?压缩成RAR再试试。

可以用 _FileCountLines 这个函数检测文本返回多少行。

ROUSTAR31 发表于 2010-10-19 21:15:15

这个,里面有回车号?

xianhou 发表于 2010-10-19 21:57:14

奇怪的现象。
用二进制形式查看 ip.txt,可以看到
这个 ip.txt 的每一行的最后是 0x0D 0x0D 0x0A 3个字符,
filereadline把这样的一行读成两行。

afan 发表于 2010-10-19 21:59:25

这个文件很特殊,它的换行形式为 @CR@CRLF ,每个换行前面有两次回车,而FilereadLine仅以@CR作为分行,所以数量会翻倍

xlcwxl 发表于 2010-10-20 06:36:56

还是用正则匹配吧,不过我不会。

还有就是有多网卡怎么办?

hzytw 发表于 2010-10-20 08:32:37

这个问题我遇过
麻烦你将ip.txt 的内容复制后贴上microsoft word
就可以知道正确的行数了

lhy6456210 发表于 2010-10-20 11:56:40

回复 5# 水木子


    用上面的涵数回显,16行,

lhy6456210 发表于 2010-10-20 12:00:44

回复 7# xianhou


    刚刚自己又试了一下,果然是一行算成两行。

lhy6456210 发表于 2010-10-20 12:01:44

回复 10# hzytw


    我就是为了要实现自动化,再复制到WORD更麻烦,万一,没有装OFFICE呢?

lhy6456210 发表于 2010-10-20 12:03:38

回复 8# afan


    你是如果得知,一行前面有两个回车,能否说一下,以来遇到,自己排查,谢谢!

afan 发表于 2010-10-20 12:18:19

回复 14# lhy6456210


    你可以用以下代码看看行显#include <Array.au3>
$sR = StringRegExp(FileRead('ip.txt'), '^|\r[^\r]*', 3)
_ArrayDisplay($sR, '')
页: [1] 2
查看完整版本: FilereadLine读取行的问题(已解决)