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

方便处理hosts的批处理脚本:hosts助手.bat的更多相关文章

  1. 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理

    这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...

  2. EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行

    很多时候, 我们需要以管理员权限来运行批处理脚本, 比如操作 windows 服务. EasyNVR 中提供安装服务的批处理脚本, 运行这个bat文件, 自动将 EasyNVR 以 windows 服 ...

  3. Windows注册表中修改UAC(用户账号控制)及批处理脚本

    注册表路径: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 键说明: ConsentProm ...

  4. 批处理脚本修改hosts文件指定域名解析IP

    现在很多网站都是前后台分开部署的,这样做是相对安全的.就算黑客拿到了前台shell也找不到后台的管理地址,增加安全性. 大家应该知道hosts文件的功能吧,用户在访问网站的时候 需要把域名解析成IP地 ...

  5. 〖Linux〗实时更新 hosts 文件的脚本

    适用场景: 下载了一个smarthosts的hosts文件,但hosts文件过旧导致一些ip地址已失效无法访问网络. 脚本使用: ./hostsupdate # 直接从 /etc/hosts 中获得需 ...

  6. Android测试提升效率批处理脚本(二)

    前言: 前面放出过一次批处理,本次再放出一些比较有用的批处理(获得当前包名.查看APP签名信息等),好长时没来写博客了,简单化,请看正文,更多脚本尽请期待~~~(不定期) 目录 1.[手机录屏(安卓4 ...

  7. 01_安装电脑软件的步骤批处理脚本.bat

    REM 01_安装电脑软件的步骤批处理脚本.bat MD 01_安装电脑软件的步骤 REM ZIP解压密码空格MD 02_制作杏雨梨云USB维护系统2019中秋版之国庆更新固态U盘MD 03_复制安装 ...

  8. Android测试提升效率批处理脚本(三)

    前言: 前面放出过几次批处理,这次只放一个环境检查的被管理员给打回来了,不得不再找找几个有含金量的放出来,请看正文~~~ 目录 1.Android环境检查 2.Android内存监控 3.模拟蓝牙手柄 ...

  9. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

随机推荐

  1. 2015-03-12——简析DOM2级样式

    CSSStyleSheet对象  表示某种类型的样式表CSSStyleRule对象  样式表中的每条规则 获得文档中的所有样式表document.styleSheets CSSStyleSheet对象 ...

  2. 解决ajax无法给js全局变量赋值的问题

    解决ajax无法给js全局变量赋值的问题 http://blog.csdn.net/qq_26222859/article/details/51543433 在ajax中是无法给js中的全局变量赋值的 ...

  3. 使用idea的条件断点快速定位注解的处理类

    看代码时会碰到注解的处理类难定位的情况,比如spring的某个注解我们想知道到底是谁在处理他,他起什么作用,通过普通的代码搜索功能不容易找到,比如好用的方法就是条件断点. 比如下断:Accessibl ...

  4. 我的Android进阶之旅------>解决:Failed to create 'build\outputs\apk\watch-debug-unaligned.apks': 拒绝访问。

    1. 错误描述 今天用Android Studio进行项目编译的时候,报错如下所示: FAILURE: Build failed with an exception. * What went wron ...

  5. Hadoop集群的配置的主机和IP

    集群配置如下: hadoop        192.168.80.100 hadoop1      192.168.80.101 hadoop2      192.168.80.102   (注:ha ...

  6. go——接口(二)

    多态是指代码可以根据类型的具体实现采取不同行为的能力. 如果一个类型实现了某个接口,所有使用这个接口的地方,都可以支持这种类型的值. 标准库里有很好的例子,如io包里实现的流式处理接口. io包提供了 ...

  7. php debug函数

    $debug=$_GET['debug'];//是说获取url中debug变量$debug=empty($debug)?'':$debug;//如果变量不为空,赋值为$debug,为空的话赋值 ''$ ...

  8. HDU - 6336 Problem E. Matrix from Arrays (规律+二维前缀和)

    题意: for (int i = 0; ; ++i) { for (int j = 0; j <= i; ++j) { M[j][i - j] = A[cursor]; cursor = (cu ...

  9. 微信小程序常见问题1----适合新手

    1.本地调试 1)微信小程序填坑之路之使用localhost在本地测试 2)本地代理创建:微信小程序之使用本地接口开发 2.页面跳转 1)页面跳转 2)小程序之间跳转 3.小程序尺寸 1)微信小程序尺 ...

  10. hadoop07---synchronized,lock

    synchronized 锁是jvm控制的,控制锁住的代码块只能有一个线程进入.线程执行完了锁自动释放,抛出异常jvm会释放锁. synchronized的缺陷 1.如果一个线程被阻塞了,其余的线程 ...