1 @echo off 2 pushd "%~dp0" 3 set sp0=------------------ 4 set sp1=hosts助手 5 set hostsfile="%SYSTEMROOT%\System32\Drivers\etc\hosts" 6 set getadminfile="%temp%\getadmin.vbs" 7 title %sp1% 8 color 5f 9 :: -=UAC功能开始=- 10 echo. 11 echo 正在启动,请稍后... 12 attrib %hostsfile% | find "找不到" >nul 2>nul 13 if %errorlevel%==0 goto patherror 14 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\SYSTEM" >nul 2>nul 15 rem "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\SYSTEM" 16 rem echo ERRORLEVEL:%errorlevel% 17 if %errorlevel%==0 ( 18 goto Administrator 19 ) else ( 20 if %errorlevel%==2 ( 21 goto patherror 22 ) else ( 23 goto UAC 24 ) 25 ) 26 :patherror 27 cls 28 echo 暂不支持从第三方软件启动,请手动运行。 29 echo. 30 echo 按任意键打开"%~n0%~x0"所在文件夹... 31 pause >nul 32 start "" explorer.exe /select,"%~f0" 33 goto end 34 :UAC 35 echo Set sh = CreateObject^("Shell.Application"^) > %getadminfile% 36 echo sh.ShellExecute "%~f0", "", "", "runas", 1 >> %getadminfile% 37 ping 127.1 -n 1 >nul 38 %getadminfile% 39 goto end 40 :Administrator 41 if exist %getadminfile% ( del %getadminfile% ) 42 :: -=UAC功能结束=- 43 :mainmenu 44 cls 45 echo %sp0% 46 echo %sp1% 47 echo %sp0% 48 echo 1. 配置hosts文件的所有者(首次使用,请选择此项) 49 echo 2. 禁止修改hosts 3. 允许修改hosts 50 echo 4. 查看hosts文件 5. 打开hosts所在文件夹 51 echo 6. 显示隐藏文件 7. 不显示隐藏文件 52 echo. 53 echo Q. 退出 54 echo. 55 set input= 56 set /p input=请选择(直接回车:编辑hosts): 57 if "%input%"=="" goto :modifyhosts 58 if "%input%"=="1" goto :configowner 59 if "%input%"=="2" goto :disablemodify 60 if "%input%"=="3" goto :enabledmodify 61 if "%input%"=="4" goto :showhosts 62 if "%input%"=="5" goto :explorehosts 63 if "%input%"=="6" goto :showhidden 64 if "%input%"=="7" goto :noshowhidden 65 if "%input%"=="Q" goto :end 66 if "%input%"=="q" goto :end 67 echo. 68 echo 输入错误,请重新输入! 69 ping 127.1 -n 2 >nul 70 goto :mainmenu 71 :configowner 72 cls 73 echo 配置hosts文件的所有者 74 echo. 75 echo 请执行下面步骤: 76 echo. 77 echo 1) 右键hosts文件,点击“属性”菜单命令 78 echo 2) 在属性对话框里,选择“安全”选项卡,点下方的“高级”按钮 79 echo 3) 在出现的新窗口里,点击第二行“所有者”右边蓝色的“更改”文本链接 80 echo 4) 在“选择用户或组”对话框下面的文本框里输入“administrators”,点“确定” 81 echo 5) 回到其他窗口里,继续点“确定”完成配置 82 echo. 83 echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。 84 ping 127.1 -n 2 >nul 85 start "" explorer.exe /select,%hostsfile% 86 echo. 87 echo 按任意键键返回主菜单... 88 pause>nul 89 goto :mainmenu 90 :disablemodify 91 cls 92 echo 禁止修改hosts 93 echo. 94 attrib +r +a +s +h %hostsfile% | find "拒绝访问" >nul 2>nul 95 if %errorlevel%==0 ( 96 echo 拒绝访问。 97 echo 如果未设置过hosts文件的所有权,请返回主菜单执行第1项。 98 ) else ( 99 echo y|cacls %hostsfile% /g everyone:r >nul 2>nul 100 if not errorlevel 1 ( 101 echo 配置成功。 102 ) else ( 103 echo 配置失败! 104 ) 105 ) 106 echo. 107 echo 按任意键键返回主菜单... 108 pause>nul 109 goto :mainmenu 110 :enabledmodify 111 cls 112 echo 允许修改hosts 113 echo. 114 echo y|cacls %hostsfile% /g everyone:f >nul 2>nul 115 attrib -r -a -s -h %hostsfile% | find /i "拒绝访问" >nul 2>nul 116 if %errorlevel%==0 ( 117 echo 配置失败! 118 echo 请回到主菜单执行第1项! 119 ) else ( 120 echo 配置成功。 121 ) 122 echo. 123 echo 按任意键键返回主菜单... 124 pause>nul 125 goto :mainmenu 126 :modifyhosts 127 cls 128 echo 编辑hosts 129 echo. 130 echo * 允许修改hosts 131 echo y|cacls %hostsfile% /g everyone:f >nul 2>nul 132 attrib -r -a -s -h %hostsfile% >nul 2>nul 133 if exist %hostsfile% ( 134 echo * 启动记事本 135 notepad.exe %hostsfile% 136 ping 127.1 -n 1 >nul 137 echo * 禁止修改hosts 138 attrib +r +a +s +h %hostsfile% >nul 2>nul 139 echo y|cacls %hostsfile% /g everyone:r >nul 2>nul 140 ) else ( 141 echo 无法配置hosts文件,请返回主菜单执行第1项! 142 ) 143 echo. 144 echo 按任意键键返回主菜单... 145 pause>nul 146 goto :mainmenu 147 :showhosts 148 cls 149 echo 正在打开hosts... 150 start "" notepad.exe %hostsfile% 151 ping 127.1 -n 2 >nul 152 goto :mainmenu 153 :explorehosts 154 cls 155 echo 打开hosts所在文件夹 156 start "" explorer.exe /select,%hostsfile% 157 echo. 158 echo 提示:若看不见hosts文件,请选择主菜单的“6.显示隐藏文件”,然后刷新文件夹。 159 echo. 160 echo 按任意键键返回主菜单... 161 pause>nul 162 goto :mainmenu 163 :showhidden 164 cls 165 echo 配置为 显示隐藏文件... 166 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 1 /f >nul 167 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 1 /f >nul 168 ping 127.1 -n 2 >nul 169 goto :mainmenu 170 :noshowhidden 171 cls 172 echo 配置为 不显示隐藏文件... 173 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v ShowSuperHidden /t REG_DWORD /d 0 /f >nul 174 reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v Hidden /t REG_DWORD /d 2 /f >nul 175 ping 127.1 -n 2 >nul 176 goto :mainmenu 177 :end 178 if exist %getadminfile% ( del %getadminfile% ) 179 color 180 title %ComSpec% 181 popd 182 exit /B
时间: 2024-10-10 11:01:02