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. Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数

    一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...

  2. 流畅的python 符合python风格的对象

    对象表示形式 每门面向对象的语言至少都有一种获取对象的字符串表示形式的标准方式.Python 提供了两种方式. repr() 以便于开发者理解的方式返回对象的字符串表示形式.str() 以便于用户理解 ...

  3. 【我的Android进阶之旅】 解决bug: Expected file scheme in URI: content://downloads/my_downloads/12

    一.错误描述 今天测试MM用HTC手机测试某个模块的时候crash了,抓log后发现是使用DownloadManager下载apk安装包然后自动安装的时候,抛了异常:java.lang.Illegal ...

  4. kotlin写的几个小例子

    Kotlin-AdapterDemo kotlin语言下BaseAdapter,ArrayAdapter,SimpleAdapter,SimpleCursorAdapter四种适配器的示例 工具and ...

  5. Spring Security教程 ---- 验证码功能的实现

    有三中方法可以实现验证码的功能 第一种是自定义一个filter,放在SpringSecurity过滤器之前,在用户登录的时候会先经过这个filter,然后在这个filter中实现对验证码进行验证的功能 ...

  6. sqlite时间段查询

    同样的SQL语句,查不出数据来 select * from table1 where t1>='2017-6-1' and t1<='2017-6-5' 改成 select * from ...

  7. 解决linux下python多版本兼容问题?

    环境:CentOS 7(7下默认安装python2.7) Pyhon3在CentOS中需要依赖一些其他的包,我们一次性用yum安装一下: yum install zlib-devel bzip2-de ...

  8. 笔记-mysql 导出查询结果

    语法: The SELECT ... INTO OUTFILE 'file_name' [options] form of SELECT writes the selected rows to a f ...

  9. 利用ntp自动同步时间

    实验环境:centos 6.10 1.安装ntp工具 yum install -y ntp 2.便宜/etc/ntp.conf文件,添加远程时间服务器 server ntp1.aliyun.com s ...

  10. cmd命令 启动 和关闭sql服务

    (1)在操作系统的任务栏中单击“开始”菜单,选择“运行”命令,在下拉列表框中输入“cmd”命令,单击“确定”按钮. (2)输入如下命令,即可通过SQL Server命令行启动.停止或暂停的服务. SQ ...