码迷,mamicode.com
首页 > 其他好文 > 详细

方便处理hosts的批处理脚本:hosts助手.bat

时间:2015-04-13 20:38:08      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

  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

 

方便处理hosts的批处理脚本:hosts助手.bat

标签:

原文地址:http://www.cnblogs.com/Bob-wei/p/4422875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!