不确定是否涉及敏感内容
Github Hosts源
- https://raw.hellogithub.com/hosts
- https://hosts.gitcdn.top/hosts.txt
软件本质上就是一个在线Hosts源更新器;实现脚本[Asm] 纯文本查看 复制代码 @echo offtitle Windows Hosts 脚本;支持CRUD
mode con cols=60 lines=30
color 0E
:Hm
:: 变量置空
set xz=<nul
set bf=<nul
cls
echo.
echo ======Hosts工具箱======
echo.
echo. Q = 静默更新Hosts
echo.
echo. 1 = 获取最新Hosts(基于hellogithub)
echo.
echo. 2 = 更新Host
echo.
echo. 3 = 查看Hosts
echo.
echo. 4 = 打开Hosts目录
echo.
echo. 5 = 备份Hosts(需管理员权限)
echo.
echo. 6 = 还原Hosts(基于已备份hosts.bak)
echo.
echo 9 = 删除Hosts(需管理员权限,自动备份)
echo.
echo. E = 退出
echo.
echo ---错误代码---
echo E01:出现该代码代表更新源繁忙或不可用
echo E02:出现此代码代表源文件不存在或目标路径没有写入权限
echo E03:出现该代码代表备份文件不存在或目标路径没有写入权限
echo.
echo.
echo =========================================================
echo.
if exist %windir%\system32\drivers\etc\hosts.bak (echo Hosts文件已备份&echo.) else (echo Hosts文件未备份&echo.)
:Input
echo.
set /p xz= 请输入您想进行的操作:
if /i "%xz%"=="Q" goto Auto
if /i "%xz%"=="1" goto Gethosts
if /i "%xz%"=="2" goto Rephosts
if /i "%xz%"=="3" goto Viewhosts
if /i "%xz%"=="4" goto Viewhostsf
if /i "%xz%"=="5" goto Bckhosts
if /i "%xz%"=="6" goto Rsthosts
if /i "%xz%"=="7" goto Delthosts
if /i "%xz%"=="E" goto Quit
: ErrorCtrl
echo.
cls
if "%xz%"=="" echo.&ping -n 3 127.1>nul
echo.
echo 此【%xz%】是无效输入,即将返回主菜单!
ping -n 2 127.1>nul
goto Hm
:Auto
call :Gethosts
call :Rephosts
echo. 静默更新完成
echo.
timeout /t 3
:: ------联网获取更新------
:Gethosts
cls
curl -O [url]https://raw.hellogithub.com/hosts[/url] && echo 更新获取成功!|| echo 更新获取失败!请检查目标源是否可用或稍后再试(E01)...
timeout /t 5
goto Hm
:: ------替换Hosts------
:Rephosts
cls
echo.
echo 正在更新Hosts....
ping -n 2 127.1>nul
copy %cd%\hosts %windir%\system32\drivers\etc\hosts && echo Hosts更新成功!|| echo Hosts更新失败,请源检查文件是否存在或相关权限(E02)
echo.
timeout /t 5
goto Hm
:: ------浏览Hosts文件------
:Viewhosts
cls
echo.
echo 稍等,正在打开Hosts文件....
ping -n 2 127.1>nul
start notepad.exe %windir%\system32\drivers\etc\hosts
echo.
timeout /t 3
goto Hm
:: ------浏览Hosts文件夹------
:Viewhostsf
cls
echo.
echo 稍等,正在打开Hosts所在文件夹....
ping -n 2 127.1>nul
start %windir%\system32\drivers\etc
echo.
timeout /t 3
goto Hm
:: ------备份现有Hosts------
:Bckhosts
cls
if not exist %windir%\system32\drivers\etc\hosts.bak (goto b)
echo.
echo 备份文件已存在,是否覆盖?
echo.
echo 覆盖请按【1】,否则请按其余任意键返回主菜单
echo.
set /p bf= 请输入您想进行的操作:
if /i "%bf%"=="1" goto bck
echo.
if "%bf%"=="" echo.&echo 你选择的是返回主菜单,3秒后返回主菜单
echo.
timeout /t 3
goto Hm
:bck
:: ---备份分支---
echo.
echo 稍等,正在备份Hosts....
ping -n 2 127.1>nul
copy %windir%\system32\drivers\etc\hosts %windir%\system32\drivers\etc\hosts.bak>nul
echo.
if not exist %windir%\system32\drivers\etc\hosts.bak (echo Hosts文件备份失败!!& echo.&echo 请检查本程序是否以管理员权限运行!!&ping -n 3 127.1>nul&goto Hm)
echo.
timeout /t 3
goto Hm
:: ------基于备份还原Hosts------
:Rst
cls
echo.
echo 稍等,正在还原Hosts....
ping -n 2 127.1>nul
copy %windir%\system32\drivers\etc\hosts.bak %windir%\system32\drivers\etc\hosts>nul && ~还原成功~ || echo 还原失败,请检查备份文件是否存在或相关权限!(E03)
echo.
echo Hosts文件已还原!!
echo.
timeout /t 5
goto Hm
:Delthosts
cls
echo 正在执行删除操作....
copy %windir%\system32\drivers\etc\hosts %windir%\system32\drivers\etc\hosts.Abak>nul
delete %windir%\system32\drivers\etc\hosts
echo.
echo Hosts文件已删除!!
echo.
timeout /t 3
goto Hm
:: ------Exit------
:Quit
cls
echo.
echo 即将退出脚本...
timeout /t 3 >nul
|