@echo off
mode con lines=30 cols=60
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
:main
cls
color 1f
echo.请选择使用:
echo.
echo. 1.输1修改hosts
echo.
echo. 2.按2恢复hosts
echo.-----------------------------------------------------------
if exist "%SystemRoot%\System32\choice.exe" goto Win7Choice
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
goto main
:Win7Choice
choice /c 12 /n /m "请输入相应数字:"
if errorlevel 2 goto CL
if errorlevel 1 goto host DNS
cls
goto main
:host DNS
cls
color 1f
copy /y "hosts" "%SystemRoot%\System32\drivers\etc\hosts"
ipconfig /flushdns
echo.-----------------------------------------------------------
echo.
echo 好啦~
echo.
goto end
:CL
cls
color 1f
@echo 127.0.0.1 localhost > %SystemRoot%\System32\drivers\etc\hosts
echo hosts已恢复初始
echo.
goto end
:end
echo 按任意键退出
@Pause>nul
新建一个文件夹,在文件夹内:
把LZ的hosts复制到txt里面,保存,重命名去掉.txt的后缀
把以上内容复制到个txt里面,保存后改后缀为.bat
运行bat,会自动要求管理员权限,按照提示操作可以备份原版hosts并替换,同理可以用这个bat恢复原来
有效解决无权限和不习惯自己备份的……