找回密码
 加入
搜索
查看: 1837|回复: 2

[AU3基础] 求助!关于修改hosts文件内容的问题

[复制链接]
发表于 2016-11-19 11:22:09 | 显示全部楼层 |阅读模式
如果hosts文件内不存在172.19.2.6  s508295和172.17.37.97  s508295这两个IP,就添加172.17.37.97  s508295,如果存在172.17.37.97  s508295就跳过,如果存在172.19.2.6  s508295就修改为172.17.37.97  s508295。现在调试的时候hosts文件里存在172.19.2.6  s508295就是改不过来,请教如果更改脚本?


$hostFile = @SystemDir & "\drivers\etc\hosts"
$a=FileGetAttrib($hostFile)
FileSetAttrib($hostFile,"-RSAH")


Run("notepad C:\Windows\System32\drivers\etc\hosts")
WinWait("hosts - 记事本","")
WinActivate("hosts - 记事本","")
$b=ControlGetText("hosts - 记事本","","Edit1");$b=获取hosts文件内容
$c=StringInStr($b,"172.19.2.6");$c=检查变量b里是否包含此IP
$e=StringInStr($b,"172.17.37.97");e=检查变量b里是否包含此IP
If $e<>0 Then ;如果存在172.17.37.97那么
        WinClose("hosts - 记事本","");关闭窗口

ElseIf $c=0 and $e=0 Then;如果两个ip不存在那么
        FileWriteLine($hostFile,@CRLF & "172.17.37.97  s508295" & @CRLF);另起一行添加该IP到最后

ElseIf $c<>0 Then ;如果存在172.17.2.6那么
        $d=StringReplace($b,$c,"172.17.37.97  s508295");将原IP替换为现IP
        ControlSetText("hosts - 记事本","","Edit1",$d);将替换后的hosts文件内所有内容写入hosts文件
EndIf

WinClose("hosts - 记事本","");关闭窗口
发表于 2016-11-19 13:29:47 | 显示全部楼层
fileopen
fileread
fileclose
 楼主| 发表于 2016-11-21 10:55:44 | 显示全部楼层
回复 2# haijie1223


FileOpen("C:\Windows\System32\drivers\etc\hosts")
   使用fileopen打不开hosts文件啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-22 01:01 , Processed in 0.074499 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表