方便处理hosts的批处理脚本:hosts助手.bat

 hosts助手.bat

  1 @echo off
  2 pushd "%~dp0"
  3 set sp0=------------------
  4 set sp1=hosts助手
  5 set hostsfile="%SYSTEMROOT%System32Driversetchosts"
  6 set getadminfile="%temp%getadmin.vbs"
  7 title %sp1%
  8 color 5f
  9 :: -=UAC功能开始=-
 10 echo.
 11 echo 正在启动,请稍后...
 12 attrib %hostsfile% | find "找不到" >nul 2>nul
 13 if %errorlevel%==0 goto patherror
 14 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configSYSTEM" >nul 2>nul
 15 rem "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configSYSTEM"
 16 rem echo ERRORLEVEL:%errorlevel%
 17 if %errorlevel%==0 (
 18     goto Administrator
 19 ) else (
 20     if %errorlevel%==2 (
 21         goto patherror
 22     ) else (
 23         goto UAC
 24     )
 25 )
 26 :patherror
 27 cls
 28 echo 暂不支持从第三方软件启动,请手动运行。
 29 echo.
 30 echo 按任意键打开"%~n0%~x0"所在文件夹...
 31 pause >nul
 32 start "" explorer.exe /select,"%~f0"
 33 goto end
 34 :UAC
 35 echo Set sh = CreateObject^("Shell.Application"^) > %getadminfile%
 36 echo sh.ShellExecute "%~f0", "", "", "runas", 1 >> %getadminfile%
 37 ping 127.1 -n 1 >nul
 38 %getadminfile%
 39 goto end
 40 :Administrator
 41 if exist %getadminfile% ( del %getadminfile% )
 42 :: -=UAC功能结束=-
 43 :mainmenu
 44 cls
 45 echo %sp0%
 46 echo %sp1%
 47 echo %sp0%
 48 echo 1. 配置hosts文件的所有者(首次使用,请选择此项)
 49 echo 2. 禁止修改hosts          3. 允许修改hosts
 50 echo 4. 查看hosts文件          5. 打开hosts所在文件夹
 51 echo 6. 显示隐藏文件           7. 不显示隐藏文件
 52 echo.
 53 echo Q. 退出
 54 echo.
 55 set input=
 56 set /p input=请选择(直接回车:编辑hosts):
 57 if "%input%"=="" goto :modifyhosts
 58 if "%input%"=="1" goto :configowner
 59 if "%input%"=="2" goto :disablemodify
 60 if "%input%"=="3" goto :enabledmodify
 61 if "%input%"=="4" goto :showhosts
 62 if "%input%"=="5" goto :explorehosts
 63 if "%input%"=="6" goto :showhidden
 64 if "%input%"=="7" goto :noshowhidden
 65 if "%input%"=="Q" goto :end
 66 if "%input%"=="q" goto :end
 67 echo.
 68 echo 输入错误,请重新输入!
 69 ping 127.1 -n 2 >nul
 70 goto :mainmenu
 71 :configowner
 72 cls
 73 echo 配置hosts文件的所有者
 74 echo.
 75 echo 请执行下面步骤:
 76 echo.
 77 echo 1) 右键hosts文件,点击“属性”菜单命令
 78 echo 2) 在属性对话框里,选择“安全”选项卡,点下方的“高级”按钮
 79 echo 3) 在出现的新窗口里,点击第二行“所有者”右边蓝色的“更改”文本链接
 80 echo 4) 在“选择用户或组”对话框下面的文本框里输入“administrators”,点“确定”
 81 echo 5) 回到其他窗口里,继续点“确定”完成配置
 82 echo.
 83 echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。
 84 ping 127.1 -n 2 >nul
 85 start "" explorer.exe /select,%hostsfile%
 86 echo.
 87 echo 按任意键键返回主菜单...
 88 pause>nul
 89 goto :mainmenu
 90 :disablemodify
 91 cls
 92 echo 禁止修改hosts
 93 echo.
 94 attrib +r +a +s +h %hostsfile% | find "拒绝访问" >nul 2>nul
 95 if %errorlevel%==0 (
 96 echo 拒绝访问。
 97 echo 如果未设置过hosts文件的所有权,请返回主菜单执行第1项。
 98 ) else (
 99 echo y|cacls %hostsfile% /g everyone:r >nul 2>nul
100 if not errorlevel 1 (
101 echo 配置成功。
102 ) else (
103 echo 配置失败!
104 )
105 )
106 echo.
107 echo 按任意键键返回主菜单...
108 pause>nul
109 goto :mainmenu
110 :enabledmodify
111 cls
112 echo 允许修改hosts
113 echo.
114 echo y|cacls %hostsfile% /g everyone:f >nul 2>nul
115 attrib -r -a -s -h %hostsfile% | find /i "拒绝访问" >nul 2>nul
116 if %errorlevel%==0 (
117 echo 配置失败!
118 echo 请回到主菜单执行第1项!
119 ) else (
120 echo 配置成功。
121 )
122 echo.
123 echo 按任意键键返回主菜单...
124 pause>nul
125 goto :mainmenu
126 :modifyhosts
127 cls
128 echo 编辑hosts
129 echo.
130 echo * 允许修改hosts
131 echo y|cacls %hostsfile% /g everyone:f >nul 2>nul
132 attrib -r -a -s -h %hostsfile% >nul 2>nul
133 if exist %hostsfile% (
134 echo * 启动记事本
135 notepad.exe %hostsfile%
136 ping 127.1 -n 1 >nul
137 echo * 禁止修改hosts
138 attrib +r +a +s +h %hostsfile%  >nul 2>nul
139 echo y|cacls %hostsfile% /g everyone:r >nul 2>nul
140 ) else (
141 echo 无法配置hosts文件,请返回主菜单执行第1项!
142 )
143 echo.
144 echo 按任意键键返回主菜单...
145 pause>nul
146 goto :mainmenu
147 :showhosts
148 cls
149 echo 正在打开hosts...
150 start "" notepad.exe %hostsfile%
151 ping 127.1 -n 2 >nul
152 goto :mainmenu
153 :explorehosts
154 cls
155 echo 打开hosts所在文件夹
156 start "" explorer.exe /select,%hostsfile%
157 echo.
158 echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。
159 echo.
160 echo 按任意键键返回主菜单...
161 pause>nul
162 goto :mainmenu
163 :showhidden
164 cls
165 echo 配置为 显示隐藏文件...
166 reg add HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced /v ShowSuperHidden /t REG_DWORD /d 1 /f >nul
167 reg add HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced /v Hidden /t REG_DWORD /d 1 /f >nul
168 ping 127.1 -n 2 >nul
169 goto :mainmenu
170 :noshowhidden
171 cls
172 echo 配置为 不显示隐藏文件...
173 reg add HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced /v ShowSuperHidden /t REG_DWORD /d 0 /f >nul
174 reg add HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced /v Hidden /t REG_DWORD /d 2 /f >nul
175 ping 127.1 -n 2 >nul
176 goto :mainmenu
177 :end
178 if exist %getadminfile% ( del %getadminfile% )
179 color
180 title %ComSpec%
181 popd
182 exit /B

操作提示:

  • 第一次使用,请选择1,按照提示对hosts文件进行权限配置。然后,选择2,禁止任何人修改hosts文件。
  • 手动编辑hosts:运行脚本,在输入提示中直接按回车键,会出现记事本,编辑完成保存退出,助手会自动配置为禁止任何人修改hosts文件。
  • 临时允许其他软件修改hosts:运行脚本,选择3。记得最后重新选择2,禁止任何人修改hosts文件。
  • 由于脚本中使用的Find命令,所以仅支持中文系统

附:一些hosts

#mozilla
117.18.232.191        addons.cdn.mozilla.net
117.18.232.191        mozorg.cdn.mozilla.net
117.18.232.191        developer.cdn.mozilla.net
117.18.232.191        fhr.cdn.mozilla.net
117.18.232.191        support.cdn.mozilla.net
117.18.232.191        marketplace.cdn.mozilla.net
117.18.232.191        air.cdn.mozilla.net
117.18.232.191        activations.cdn.mozilla.net
117.18.232.191        cdn.mozilla.net
117.18.232.191       download-installer.cdn.mozilla.net
117.18.237.191       getpersonas-cdn.mozilla.net
117.18.232.191       snippets.cdn.mozilla.net
117.18.232.191       telemetry-experiment.cdn.mozilla.net
117.18.232.191      code.cdn.mozilla.net
117.18.232.191       videos.cdn.mozilla.net
117.18.232.191       glow.cdn.mozilla.net
72.21.81.109           df6a.https.cdn.softlayer.net
117.18.237.29        ocsp.digicert.com
#mozilla 


#qq
0.0.0.0 ad.qq.com 
0.0.0.0 adping.qq.com 
0.0.0.0 adsclick.qq.com 
0.0.0.0 adsfile.qq.com 
0.0.0.0 adshmct.qq.com 
0.0.0.0 adshmmsg.qq.com 
0.0.0.0 adslvfile.qq.com 
0.0.0.0 adslvseed.qq.com 
0.0.0.0 adsqqclick.qq.com 
0.0.0.0 adsrich.qq.com 
0.0.0.0 c.l.qq.com 
0.0.0.0 jingjia.qq.com 
0.0.0.0 pingfore.qq.com 
0.0.0.0 rich.qq.com 
0.0.0.0 union.qq.com 
0.0.0.0 w.l.qq.com
0.0.0.0 adshmct.qq.com
0.0.0.0 q.i.gdt.qq.com
0.0.0.0 v.gdt.qq.com
0.0.0.0 fodder.qq.com 
0.0.0.0 adshmct.qq.com 
0.0.0.0 hm.l.qq.com 
0.0.0.0 adshmmsg.qq.com 
#qq
原文地址:https://www.cnblogs.com/Bob-wei/p/4422875.html