
正文
方便处理hosts的批处理脚本:hosts助手.bat
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示

hosts助手.bat
@echo off
pushd "%~dp0"
set sp0=------------------
set sp1=hosts助手
set hostsfile="%SYSTEMROOT%\System32\Drivers\etc\hosts"
set getadminfile="%temp%\getadmin.vbs"
title %sp1%
color 5f
:: -=UAC功能开始=-
echo.
echo 正在启动,请稍后...
attrib %hostsfile% | find "找不到" >nul 2>nul
if %errorlevel%==0 goto patherror
"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\SYSTEM" >nul 2>nul
rem "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\SYSTEM"
rem echo ERRORLEVEL:%errorlevel%
if %errorlevel%==0 (
goto Administrator
) else (
if %errorlevel%==2 (
goto patherror
) else (
goto UAC
)
)
:patherror
cls
echo 暂不支持从第三方软件启动,请手动运行。
echo.
echo 按任意键打开"%~n0%~x0"所在文件夹...
pause >nul
start "" explorer.exe /select,"%~f0"
goto end
:UAC
echo Set sh = CreateObject^("Shell.Application"^) > %getadminfile%
echo sh.ShellExecute "%~f0", "", "", "runas", 1 >> %getadminfile%
ping 127.1 -n 1 >nul
%getadminfile%
goto end
:Administrator
if exist %getadminfile% ( del %getadminfile% )
:: -=UAC功能结束=-
:mainmenu
cls
echo %sp0%
echo %sp1%
echo %sp0%
echo 1. 配置hosts文件的所有者(首次使用,请选择此项)
echo 2. 禁止修改hosts 3. 允许修改hosts
echo 4. 查看hosts文件 5. 打开hosts所在文件夹
echo 6. 显示隐藏文件 7. 不显示隐藏文件
echo.
echo Q. 退出
echo.
set input=
set /p input=请选择(直接回车:编辑hosts):
if "%input%"=="" goto :modifyhosts
if "%input%"=="1" goto :configowner
if "%input%"=="2" goto :disablemodify
if "%input%"=="3" goto :enabledmodify
if "%input%"=="4" goto :showhosts
if "%input%"=="5" goto :explorehosts
if "%input%"=="6" goto :showhidden
if "%input%"=="7" goto :noshowhidden
if "%input%"=="Q" goto :end
if "%input%"=="q" goto :end
echo.
echo 输入错误,请重新输入!
ping 127.1 -n 2 >nul
goto :mainmenu
:configowner
cls
echo 配置hosts文件的所有者
echo.
echo 请执行下面步骤:
echo.
echo 1) 右键hosts文件,点击“属性”菜单命令
echo 2) 在属性对话框里,选择“安全”选项卡,点下方的“高级”按钮
echo 3) 在出现的新窗口里,点击第二行“所有者”右边蓝色的“更改”文本链接
echo 4) 在“选择用户或组”对话框下面的文本框里输入“administrators”,点“确定”
echo 5) 回到其他窗口里,继续点“确定”完成配置
echo.
echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。
ping 127.1 -n 2 >nul
start "" explorer.exe /select,%hostsfile%
echo.
echo 按任意键键返回主菜单...
pause>nul
goto :mainmenu
:disablemodify
cls
echo 禁止修改hosts
echo.
attrib +r +a +s +h %hostsfile% | find "拒绝访问" >nul 2>nul
if %errorlevel%==0 (
echo 拒绝访问。
echo 如果未设置过hosts文件的所有权,请返回主菜单执行第1项。
) else (
echo y|cacls %hostsfile% /g everyone:r >nul 2>nul
if not errorlevel 1 (
echo 配置成功。
) else (
echo 配置失败!
)
)
echo.
echo 按任意键键返回主菜单...
pause>nul
goto :mainmenu
:enabledmodify
cls
echo 允许修改hosts
echo.
echo y|cacls %hostsfile% /g everyone:f >nul 2>nul
attrib -r -a -s -h %hostsfile% | find /i "拒绝访问" >nul 2>nul
if %errorlevel%==0 (
echo 配置失败!
echo 请回到主菜单执行第1项!
) else (
echo 配置成功。
)
echo.
echo 按任意键键返回主菜单...
pause>nul
goto :mainmenu
:modifyhosts
cls
echo 编辑hosts
echo.
echo * 允许修改hosts
echo y|cacls %hostsfile% /g everyone:f >nul 2>nul
attrib -r -a -s -h %hostsfile% >nul 2>nul
if exist %hostsfile% (
echo * 启动记事本
notepad.exe %hostsfile%
ping 127.1 -n 1 >nul
echo * 禁止修改hosts
attrib +r +a +s +h %hostsfile% >nul 2>nul
echo y|cacls %hostsfile% /g everyone:r >nul 2>nul
) else (
echo 无法配置hosts文件,请返回主菜单执行第1项!
)
echo.
echo 按任意键键返回主菜单...
pause>nul
goto :mainmenu
:showhosts
cls
echo 正在打开hosts...
start "" notepad.exe %hostsfile%
ping 127.1 -n 2 >nul
goto :mainmenu
:explorehosts
cls
echo 打开hosts所在文件夹
start "" explorer.exe /select,%hostsfile%
echo.
echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。
echo.
echo 按任意键键返回主菜单...
pause>nul
goto :mainmenu
:showhidden
cls
echo 配置为 显示隐藏文件...
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 1 /f >nul
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 1 /f >nul
ping 127.1 -n 2 >nul
goto :mainmenu
:noshowhidden
cls
echo 配置为 不显示隐藏文件...
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 0 /f >nul
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 2 /f >nul
ping 127.1 -n 2 >nul
goto :mainmenu
:end
if exist %getadminfile% ( del %getadminfile% )
color
title %ComSpec%
popd
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








