命令行清空或还原HOSTS文件内容(包括覆盖hosts)
hosts 其实是个纯文本的文件,用记事本等文本编辑软件就能打开。hosts文件里包含映射ip 地址和host主机名的规定,每段只能包括一个映射关系,ip地址要放在每段的最前而,空格后再写上映射的主机名。
正常情况下,系统的hosts 文件除了说明信息外,只包含“127.0.0.1 localhost”这一段实际内容,如果出现其他的内容就表示被修改过了。如果hosts 文件被修改了会有什么后果昵?
有一种网页劫持的方法就是恶意修改hosts 文件,导致输人某些正常网址时都会转到广告网站。要想解除这种劫持,修复hosts 文件即可。另外,我们自己修改hosts文件也可以起到加快网站域名解析、方便局域网用户、屏蔽网站等作用。
windows98 系统中它在windows 日录下,在windows 2000 / xp / 2003 系统中它在x :\windows \\system32\\drivers\\etc目录下。
要请空的话用记事本打开他,只保留 127.0.0.1 localhost
其它全部删除
用命令行可以如下命令:
清空hosts文件只要如下操作:
echo "" >%windir%\system32\drivers\etc\hosts
还原hosts文件则必须先备份一下:
copy /y %windir%\system32\drivers\etc\hosts %windir%\system32\drivers\etc\hosts.bak
然后copy回来,
copy /y %windir%\system32\drivers\etc\hosts.bak %windir%\system32\drivers\etc\hosts
如果你有linux下的小工具,可以用:
cat %windir%\system32\drivers\etc\hosts.bak > %windir%\system32\drivers\etc\hosts
下面是自动设置hosts的代码:
echo 127.0.0.1 localhost>>%systemroot%\system32\drivers\etc\hosts
这个可以多弄一些,直接写入到hosts里面了。
@echo off
echo "请注意你的杀毒软件提示,一定要允许"
@echo ########################################
@xcopy c:\windows\system32\drivers\etc\hosts c:\windows\system32\drivers\etc\hosts.bak\ /d /c /i /y
@echo ########################################
@echo hosts文件备份完毕,开始修改hosts文件
@echo
rem del %systemroot%\system32\drivers\etc\hosts
rem attrib -r %systemroot%\system32\drivers\etc\hosts
echo 127.0.0.1 localhost>>%systemroot%\system32\drivers\etc\hosts
@ipconfig /flushdns
echo 修改与刷新dns成功
下面是一个直接复制hosts文件并替换当前系统hosts文件的bat
本批处理仅适用于windows系统
双击自动替换hosts批处理...
win7/win8/win10右键以管理员身份运行,xp用户双击运行
就可以自动把文件夹下的hosts文件替换到系统
c:\windows\system32\drivers\etc目录下了
@echo off
echo √√ √√ √√√ √√√√ √√√√√ √√√√
echo √ √ √ √ √ √ √ √ √ √ √
echo √ √ √ √ √ √ √
echo √√√√ √ √ √√ √ √√
echo √ √ √ √ √ √ √
echo √ √ √ √ √ √ √
echo √ √ √ √ √ √ √ √ √
echo √√ √√ √√√ √√√√ √√√ √√√√
echo -----------------------------------------------------------
echo
echo www.jb51.net
echo 备用域名 jbzj.com
echo -----------------------------------------------------------
copy "%~dp0hosts" "%systemroot%\system32\drivers\etc\hosts"
ipconfig /flushdns
pause