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

  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

方便处理hosts的批处理脚本:hosts助手.bat的相关文章

写个批处理脚本来帮忙干活--遍历文件夹&字符串处理

这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之前有些工作有点过于重复且都是手工性去完成,所以就想着能否写个脚本来处理. 因为我还是用的 windows 开发,所以最开始想到的就是批处理脚本,但写完后发现,重复性工作是可以交给脚本去处理了,但每次要执行这个脚本文件还得打开脚本所在的文件夹找到脚本点击去执行. emmm,因为我是开发 Android

批处理脚本遍历指定文件夹下的文件

批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格,否则命令会无法成功执行 ps:本节只讲用批处理脚本执行 for 命令遍历文件夹的场景,因此以下分析每个指令意义时,不介绍其他含义 []:表示此项指令为可选 [参数]:参数取值一共有四种: /d, /r, /l, /f,加上无参数,所以一共五种场景 无参:遍历当前路径的文件夹下

批处理脚本修改hosts文件指定域名解析IP

现在很多网站都是前后台分开部署的,这样做是相对安全的.就算黑客拿到了前台shell也找不到后台的管理地址,增加安全性. 大家应该知道hosts文件的功能吧,用户在访问网站的时候 需要把域名解析成IP地址才能连接获取内容,解析域名的时候一般都会先查看hosts里有没有相关的记录,如果有直接返回IP,如果没有再用dns解析. 所以如果修改了hosts文件,就算这个域名没有解析也可以返回指定的IP,就可以访问后台.其它人不能访问. 后台管理地址一般只是管理团队内部使用,如果这个域名不解 析,只是修改一

一个更改 hosts 的 PHP 脚本

有这样一个需求,我有多个网址希望在不同的时候对应不同的 ip,如果一个个配 hosts,这工作显得有些繁琐.写了如下脚本来批量更改. <?php define('HOST_FILE', 'C:\Windows\System32\drivers\etc\hosts'); $hm = new HostManage(HOST_FILE); $env = $argv[1]; if (empty($env)) { $hm->delAllGroup(); } else { $hm->addGroup

更新hosts的python脚本

#!/usr/bin/env python # -*- coding:utf-8 -*- #author:mrsimple import sys import urllib import os from shutil import copyfile HOSTS_URL='https://smarthosts.googlecode.com/svn/trunk/hosts' LOCAL_HOSTS='/etc/hosts' def update(): """update host

Windows 添加计划任务 每隔一定时间执行指定批处理脚本

schtasks /create /sc minute /mo 20 /tn "TestBatch" /tr C:/TestBatch.bat TestBatch.bat echo "---------------------批处理开始------------------------------"ping sz.tencent.com > D:/a.txtping sz1.tencent.com >> D:a.txtping sz2.tencent

【学会偷懒】00. 用批处理脚本启动软件

# 本系列针对零基础和非业内的同学,介绍下我常用的.可能对很多人也有用的偷懒方法和思路 本篇是第1篇,特意讲得非常浅,手把手的讲解,感到智商被侮辱了的同学可跳过相应段落 这系列的总体思路 做人不能太勤快 凡是机械重复的工作,只要ROI(投资回报率)划算,考虑交给机器 成本包括时间成本和风险成本,收益包括节省时间做更重要的事.心情变好和个人成长 这里只讨论自己偷懒,不适合直接套用在组织要不要做自动化的问题上 同样的事不要用同样的方法做3遍 3是虚指 什么是“同样的事”可能一点也不显而易见 发现问题

设置DNS域名服务器地址BAT批处理脚本文件.bat

rem 文件名 设置DNS域名服务器地址BAT批处理脚本文件.batrem 用途 设置"无线网络连接" 的DNS域名服务器地址netsh interface ip add dns "无线网络连接" 8.8.8.8netsh interface ip add dns "无线网络连接" 8.8.4.4netsh interface ip add dns "无线网络连接" 1.2.4.8netsh interface ip add

BAT 批处理脚本教程

第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程.了解了大概意思后,我们正式开始学习.先看一个简单的例子!@echo offecho "欢迎来到非常BAT!"pause把上面的3条命令保存为文件test.bat或者test.cmd然后执行,他就会在屏幕上显示以下二行话:欢迎来到