SwitchHosts 是一款开源、免费且功能强大的 Hosts 文件管理工具,旨在帮助用户轻松、便捷地切换和管理不同的 Hosts 配置方案。它广泛应用于软件开发、网站测试、网络环境切换等场景,是提升工作效率的理想选择。
项目地址:https://github.com/oldj/switchhosts/
截屏
功能摘要
- 多环境切换
- 支持创建和管理多个 Hosts 配置方案,用户可以根据不同需求快速切换,满足开发、测试、生产等不同环境的需求。
- 可视化编辑
- 提供直观易用的图形界面,方便用户添加、编辑和删除 Hosts 条目,无需手动修改 Hosts 文件。
- 语法高亮与校验
- 内置语法高亮显示,帮助用户快速识别 Hosts 语法,同时具备语法校验功能,避免 Hosts 规则错误。
- 远程 Hosts 支持
- 支持导入和更新远程 Hosts 文件,例如 GitHub 上的 Hosts 屏蔽列表,实时同步最新的规则。
- 快速启用/禁用
- 可以快速启用或禁用单个 Hosts 配置方案,灵活控制 Hosts 规则的生效范围。
- 自动备份与恢复
- 提供自动备份 Hosts 文件的功能,防止意外修改导致的问题,并可轻松恢复到之前的状态。
- 智能去重
- 内置去重功能,自动移除重复的 Hosts 条目,保持 Hosts 文件简洁高效,避免冲突和冗余。
- 轻量级与高性能
- 软件体积小巧,运行速度快,占用系统资源少,不会影响电脑性能。
更新日志
https://github.com/oldj/switchhosts/releases
下载地址
SwitchHosts 4.2.0 绿色版
https://url20.ctfile.com/d/12493720-65325604-9cbc16 密码:osssr
https://www.123912.com/s/uhN9-ChCD
https://osssr.lanzoux.com/b0ra1ifgd
我的开机批处理
1 设置开机自启动批处理(计划任务方式)
2 已设置好,SwitchHosts启动时隐藏、移除重复的记录、任务栏快捷小窗、多选文件夹开关控制子项目
3 用户数据存储文件存储目录为Config目录下
@ECHO off
PUSHD %~DP0
>NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
"%TEMP%\Getadmin.vbs"
DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
Exit /b
)
TITLE SwitchHosts 开机自启动设置(计划任务方式)
:Menu
SET Options=
ECHO.&ECHO. 1.SwitchHosts 设置开机自启动
ECHO.&ECHO. 2.SwitchHosts 移除开机自启动
ECHO.&ECHO. 3.退出
ECHO.
SET /P Options=[92m请输入选择项目序号并按回车确认:[0m
IF /I "%Options%"=="1" GOTO Add
IF /I "%Options%"=="2" GOTO Remove
IF /I "%Options%"=="3" GOTO OUT
ECHO.&ECHO.序号无效,请重新输入!
PING -n 2 127.1>NUL
CLS
GOTO Menu
:Add
ECHO.&ECHO 建立配置文件存储目录
IF NOT EXIST "%AppData%\SwitchHosts\swh_local\dict" (mkdir "%AppData%\SwitchHosts\swh_local\dict")
IF NOT EXIST "%USERPROFILE%\.SwitchHosts\config\dict" (mkdir "%USERPROFILE%\.SwitchHosts\config\dict")
ECHO.&ECHO 建立数据存储文件存储目录
IF NOT EXIST "%~DP0Config" (mkdir "%~DP0Config")
ECHO.&ECHO 将SwitchHosts数据存储文件所在目录设置为当前目录的下级目录.SwitchHosts目录下
set "ThisFolder=%~dp0"
set "ThisFolder=%ThisFolder:\=\\%"
ECHO.&ECHO 声明采用UTF-8编码, 防止写入中文乱码
chcp 65001
>"%AppData%\SwitchHosts\swh_local\dict\local.json" echo {"data_dir":"%ThisFolder:~0,-2%\\Config"}
ECHO.&ECHO 设置SwitchHosts启动时隐藏、移除重复的记录、任务栏快捷小窗、多选文件夹开关控制子项目
>"%USERPROFILE%\.SwitchHosts\config\dict\cfg.json" echo {"left_panel_show":true,"left_panel_width":270,"use_system_window_frame":false,"write_mode":"append","history_limit":50,"locale":"zh","theme":"light","choice_mode":2,"show_title_on_tray":false,"hide_at_launch":true,"send_usage_data":false,"cmd_after_hosts_apply":"","remove_duplicate_records":true,"hide_dock_icon":false,"use_proxy":false,"proxy_protocol":"http","proxy_host":"","proxy_port":0,"http_api_on":false,"http_api_only_local":true,"tray_mini_window":true,"multi_chose_folder_switch_all":true,"auto_download_update":true,"env":"PROD"}
chcp 936
ECHO.&ECHO 添加 SwitchHosts 开机自启动计划任务
SCHTASKS /CREATE /SC onlogon /TN "SwitchHosts-Autorun" /TR "'%~DP0SwitchHosts.exe'" /RL HIGHEST /RU Users /NP /F
cls
ECHO.&ECHO 启动SwitchHosts
start "" "%~DP0SwitchHosts.exe"
EXIT
ECHO.&ECHO 安装完成,10秒后自动返回主菜单
IF EXIST "%WinDir%\System32\CHOICE.exe" (
ECHO.&ECHO 设置完成
TIMEOUT /t 10 >NUL & CLS & GOTO MENU
) ELSE (
ECHO.&ECHO 已设置,任意键退出 &PAUSE>NUL&CLS&QUIT)
:Remove
ECHO.&ECHO 结束进程
taskkill /f /im SwitchHosts.exe
ECHO.&ECHO 清理配置文件
rmdir /s /q "%USERPROFILE%\.SwitchHosts"
rmdir /s /q "%USERPROFILE%\AppData\Roaming\SwitchHosts"
ECHO.&ECHO 删除 SwitchHosts 开机自启动计划任务
SCHTASKS /DELETE /TN "SwitchHosts-Autorun" /F
cls
EXIT
ECHO.&ECHO 卸载完成,10秒后自动返回主菜单
IF EXIST "%WinDir%\System32\CHOICE.exe" (
ECHO.&ECHO 设置完成
TIMEOUT /t 10 >NUL & CLS & GOTO MENU
) ELSE (
ECHO.&ECHO 已设置,任意键退出 &PAUSE>NUL&CLS&QUIT)
:OUT
exit
感谢sxbg大佬推荐!