修改hosts文件的.bat批处理文件解释

::表示注释,使用时去掉注释

@echo off
mode con lines=30 cols=60          ::设置命令行的大小30行60列
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit                ::以管理员的身份运行cmd,其中runas有提权的作用,成功后关闭退出
cd /d "%~dp0"                     ::cd  /d   到指定盘符:\目录名,"%~dp0"表示批处理所在的盘符加路径
:main
cls                               ::清屏
color 2f                           ::设置颜色
echo √√    √√  √√√      √√√√  √√√√√    √√√√
echo   √    √  √      √  √      √  √  √  √  √      √
echo   √    √  √      √  √              √      √
echo   √√√√  √      √    √√          √        √√
echo   √    √  √      √        √        √            √
echo   √    √  √      √          √      √              √
echo   √    √  √      √  √      √      √      √      √
echo √√    √√  √√√    √√√√      √√√    √√√√
echo.----------------------------------------------------------- 
echo.如有360、电脑管家等安全软件提醒,请勾选信任允许和不再提醒!
echo.
echo.警告:执行该命令 您的hosts将被自动替换覆盖!
echo.如您原先的hosts有自己修改过的信息,请自行手动修改!
echo.
echo.老D博客 https://laod.cn  备用域名:laod.org laod.top
echo.
echo.2017 永久更新地址:
echo.https://laod.cn/hosts/2017-google-hosts.html
color 2e
echo.-----------------------------------------------------------
echo.请选择使用:
echo.
echo. 1.使用穿墙hosts(即在下面输入1)
echo.
echo. 2.恢复初始hosts(即在下面输入2)
echo.-----------------------------------------------------------

if exist "%SystemRoot%\System32\choice.exe" goto Win7Choice
::假如存在这个路径就跳转到Win7Choice去执行choice.exe,否则继续向下执行
set /p choice=请输入数字并按回车键确认:

echo.
if %choice%==1 goto host DNS
if %choice%==2 goto CL
cls
"set choice="               ::此句出现在程序中,经测貌似不起作用,不解
echo 您输入有误,请重新选择。
ping 127.0.1 -n "2">nul            ::起延时约1秒的作用
goto main

:Win7Choice
choice /c 12 /n /m "请输入相应数字:"          ::/c表示要选择的选项列表,执行此命令后需输入1或2
if errorlevel 2 goto CL                ::若选择2则转到CL
if errorlevel 1 goto host DNS 
cls
goto main

:host DNS
cls
color 2f
copy /y "hosts" "%SystemRoot%\System32\drivers\etc\hosts"         ::/y表示不理会是否提示对文件的覆盖直接覆盖
ipconfig /flushdns                                       ::刷新DNS缓存
echo.-----------------------------------------------------------
echo.
echo 老D恭喜您,覆盖本地hosts并刷新本地DNS解析缓存成功!
echo.
echo 现在去打开Google、Twitter、Facebook、Gmail、谷歌学术吧!
echo.
echo.谷歌这些网站记得使用https进行加密访问!
echo.
echo.即:https://www.google.com
echo.
echo.或者:https://www.google.com/ncr
echo.      https://www.google.com.hk/ncr
echo.
goto end

:CL
cls
color 2f
@echo 127.0.0.1 localhost > %SystemRoot%\System32\drivers\etc\hosts       ::将127.0.0.1  localhost  输入hosts文件中并在输入前清空hosts文件内容
echo 恭喜您,hosts恢复初始成功!
echo.
goto end

:end
echo 请按任意键退出。
@Pause>nul          ::>nul表示不显示前面命令的结果信息

PS:
参考链接:
批处理 | hosts.bat 详解
批处理 | hosts.bat 详解(谷歌快照)
命令写在脚本开头,可以实现调用管理员身份运行脚本
choice 详解
shellExecute用法

你可能感兴趣的:(修改hosts文件的.bat批处理文件解释)