原帖由 liongodmien 于 2008-11-4 22:39 发表
你上面的代码已经可以正常写入了
目前的情况出现了问题,没办法正确读取出我已存在的字串.直接就写上去了,打开HOSTS文件一看,重复了.!
比如我现在的HOSTS文件包含了下面的内容
=========HOSTS文件内容开始========
127.0.0.1 localhost
127.0.0.1 servserv.generals.ea.com
=========HOSTS文件内容结束========
然后我运行下面的代码:
$File = FileOpen(@SystemDir&"\drivers\etc\hosts",1) ;会不会这里出现问题了呢?我试过这里改为2,那样就全覆盖了.
If $File = -1 Then
MsgBox(0, "错误:", "无法打开Hosts文件,文件可能不存在。")
EndIf
$String = FileRead($File) ;我感觉这里有问题,好像根本没读取什么内容
$FindStr = "127.0.0.1 servserv.generals.ea.com"
If StringInStr($String,$FindStr) =0 Then
FileWrite($file, @CRLF&"127.0.0.1 servserv.generals.ea.com") ;这里是正确的,可以写入!
Else
Msgbox(0,"","已找到") ;已经重复了,为什么没出现这里的提示呢?
EndIf
FileClose($File)
结果打开HOSTS文件是下面的内容:
=========HOSTS文件内容开始========
127.0.0.1 localhost
127.0.0.1 servserv.generals.ea.com
127.0.0.1 servserv.generals.ea.com
=========HOSTS文件内容结束========
怎么办?
[ 本帖最后由 KLU3K 于 2008-11-5 08:19 编辑 ] |