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行呢?? 上传你的 ip.txt 看看 回复 2# afan
ok,马上,上传 回复 2# afan
上传不了附件,,就是用ipconfig /all d:\ip.txt生成的文件, 本帖最后由 水木子 于 2010-10-19 21:05 编辑
附件上传不了?压缩成RAR再试试。
可以用 _FileCountLines 这个函数检测文本返回多少行。 这个,里面有回车号? 奇怪的现象。
用二进制形式查看 ip.txt,可以看到
这个 ip.txt 的每一行的最后是 0x0D 0x0D 0x0A 3个字符,
filereadline把这样的一行读成两行。 这个文件很特殊,它的换行形式为 @CR@CRLF ,每个换行前面有两次回车,而FilereadLine仅以@CR作为分行,所以数量会翻倍 还是用正则匹配吧,不过我不会。
还有就是有多网卡怎么办? 这个问题我遇过
麻烦你将ip.txt 的内容复制后贴上microsoft word
就可以知道正确的行数了 回复 5# 水木子
用上面的涵数回显,16行, 回复 7# xianhou
刚刚自己又试了一下,果然是一行算成两行。 回复 10# hzytw
我就是为了要实现自动化,再复制到WORD更麻烦,万一,没有装OFFICE呢? 回复 8# afan
你是如果得知,一行前面有两个回车,能否说一下,以来遇到,自己排查,谢谢! 回复 14# lhy6456210
你可以用以下代码看看行显#include <Array.au3>
$sR = StringRegExp(FileRead('ip.txt'), '^|\r[^\r]*', 3)
_ArrayDisplay($sR, '')
页:
[1]
2