利用 bat 文件制作 HOSTS 快速切換器
更新時(shí)間:2012年10月27日 11:15:24 作者:
在平時(shí)每天需要切換好幾次 HOSTS 文件,那有什么辦法可以簡(jiǎn)化這個(gè)操作
切換 HOSTS 文件的困擾
學(xué)校里的 IPV6 免費(fèi)上,而 IPV6 下是不用翻墻的,但是有但是 IPV6 下,有一些網(wǎng)站雖然有 IPV6 的 IP 但是卻沒(méi)有域名… 所以也只能通過(guò)修改 HOSTS 文件來(lái)訪問(wèn)。
另外在 IPV4 下,Google 的許多服務(wù)都需要通過(guò)修改 HOSTS 文件后才能正常訪問(wèn)…
所以,在平時(shí)每天需要切換好幾次 HOSTS 文件。
那有什么辦法可以簡(jiǎn)化這個(gè)操作?
HOSTS 切換軟件
上網(wǎng)搜索了很多軟件,但是都不是很好用,甚至都有沖動(dòng)自己做一個(gè)了。
設(shè)計(jì)的邏輯基本上是這樣的:
1、軟件保存了很多域名的 IP 地址,并且每個(gè)域名擁有一個(gè) IPV4 地址和一個(gè) IPV6 地址(會(huì)根據(jù)網(wǎng)路情況自動(dòng)判斷)
2、軟件可以保存很多方案,每點(diǎn)擊一個(gè)方案可以執(zhí)行一系列操作,例如:1、清空 HOSTS;2、增加 XXX,又例如:1、不對(duì)當(dāng)前 HOSTS 進(jìn)行修改;2、禁用 XXX
這樣子可以非常自由的控制 HOSTS 文件了。
解決方案
有一次突然想到,干嘛要這么麻煩呢?把不同的 HOSTS 文件備份一下,需要哪個(gè)就復(fù)制過(guò)去不就行了?
還是很麻煩?直接寫(xiě) bat 文件不就行了嗎?雖然不能實(shí)現(xiàn)上述的高級(jí)功能,但是也可以滿足日常需要了。
1、新建不同的 HOSTS 方案

這里我新建了三個(gè),一個(gè)是空的,一個(gè)是 IPV4 下的,一個(gè)是 IPV6 下的
2、開(kāi)始寫(xiě) bat 文件
@echo *****************
@echo * HOSTS 切換器 *
@echo * 1--清空 *
@echo * 2--IPV4 *
@echo * 3--IPV6 *
@echo *****************
@choice /c 123
if errorlevel 3 goto IPV6
if errorlevel 2 goto IPV4
if errorlevel 1 goto CLEAR
:CLEAR
copy /y "C:\Windows\System32\drivers\etc\hosts.ics" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:IPV4
copy /y "C:\Windows\System32\drivers\etc\hosts.ipv4" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:IPV6
copy /y "C:\Windows\System32\drivers\etc\hosts.ipv6" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:END
這里非常容易理解,按照上面寫(xiě)就行了
3、遺留問(wèn)題
這里還有一個(gè)問(wèn)題,操作 HOSTS 是非常危險(xiǎn)的(殺毒軟件是這么認(rèn)為的)
所以不可避免的會(huì)彈出警告窗口,沒(méi)辦法,忽略之,并添加到白名單即可
學(xué)校里的 IPV6 免費(fèi)上,而 IPV6 下是不用翻墻的,但是有但是 IPV6 下,有一些網(wǎng)站雖然有 IPV6 的 IP 但是卻沒(méi)有域名… 所以也只能通過(guò)修改 HOSTS 文件來(lái)訪問(wèn)。
另外在 IPV4 下,Google 的許多服務(wù)都需要通過(guò)修改 HOSTS 文件后才能正常訪問(wèn)…
所以,在平時(shí)每天需要切換好幾次 HOSTS 文件。
那有什么辦法可以簡(jiǎn)化這個(gè)操作?
HOSTS 切換軟件
上網(wǎng)搜索了很多軟件,但是都不是很好用,甚至都有沖動(dòng)自己做一個(gè)了。
設(shè)計(jì)的邏輯基本上是這樣的:
1、軟件保存了很多域名的 IP 地址,并且每個(gè)域名擁有一個(gè) IPV4 地址和一個(gè) IPV6 地址(會(huì)根據(jù)網(wǎng)路情況自動(dòng)判斷)
2、軟件可以保存很多方案,每點(diǎn)擊一個(gè)方案可以執(zhí)行一系列操作,例如:1、清空 HOSTS;2、增加 XXX,又例如:1、不對(duì)當(dāng)前 HOSTS 進(jìn)行修改;2、禁用 XXX
這樣子可以非常自由的控制 HOSTS 文件了。
解決方案
有一次突然想到,干嘛要這么麻煩呢?把不同的 HOSTS 文件備份一下,需要哪個(gè)就復(fù)制過(guò)去不就行了?
還是很麻煩?直接寫(xiě) bat 文件不就行了嗎?雖然不能實(shí)現(xiàn)上述的高級(jí)功能,但是也可以滿足日常需要了。
1、新建不同的 HOSTS 方案

這里我新建了三個(gè),一個(gè)是空的,一個(gè)是 IPV4 下的,一個(gè)是 IPV6 下的
2、開(kāi)始寫(xiě) bat 文件
復(fù)制代碼 代碼如下:
@echo *****************
@echo * HOSTS 切換器 *
@echo * 1--清空 *
@echo * 2--IPV4 *
@echo * 3--IPV6 *
@echo *****************
@choice /c 123
if errorlevel 3 goto IPV6
if errorlevel 2 goto IPV4
if errorlevel 1 goto CLEAR
:CLEAR
copy /y "C:\Windows\System32\drivers\etc\hosts.ics" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:IPV4
copy /y "C:\Windows\System32\drivers\etc\hosts.ipv4" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:IPV6
copy /y "C:\Windows\System32\drivers\etc\hosts.ipv6" "C:\Windows\System32\drivers\etc\HOSTS"
goto END
:END
這里非常容易理解,按照上面寫(xiě)就行了
3、遺留問(wèn)題
這里還有一個(gè)問(wèn)題,操作 HOSTS 是非常危險(xiǎn)的(殺毒軟件是這么認(rèn)為的)
所以不可避免的會(huì)彈出警告窗口,沒(méi)辦法,忽略之,并添加到白名單即可
相關(guān)文章
批處理bat標(biāo)準(zhǔn)化獲取當(dāng)前系統(tǒng)日期的幾種方法
這篇文章主要介紹了批處理bat標(biāo)準(zhǔn)化獲取當(dāng)前系統(tǒng)日期的幾種方法,需要的朋友可以參考下2014-07-07Bootcfg 配置、查詢(xún)或更改 Boot.ini 文件設(shè)置
Bootcfg 配置、查詢(xún)或更改 Boot.ini 文件設(shè)置...2007-09-09批處理中屏蔽錯(cuò)誤信息 nul 2>nul 的用法 (cmd>nul空格2>nul)
批處理中屏蔽錯(cuò)誤信息這個(gè) >nul 2>nul 可以屏蔽一切屏幕的輸出可以這樣理解2012-06-06記錄每次進(jìn)入3389遠(yuǎn)程桌面IP的批處理bat
添加用戶(hù)每次進(jìn)入遠(yuǎn)程桌面時(shí)自動(dòng)記錄下來(lái)所用IP,可用來(lái)發(fā)現(xiàn)黑客蹤跡!2011-01-01bat批處理腳本控制臺(tái)輸出中文亂碼問(wèn)題及解決方法
我發(fā)現(xiàn)幾乎所有用過(guò)批處理腳本的小伙伴都會(huì)遇到中文亂碼這個(gè)問(wèn)題,我也遇到過(guò)好幾次,今天通過(guò)本文給大家分享bat批處理腳本控制臺(tái)輸出中文亂碼問(wèn)題及解決方法,感興趣的朋友跟隨小編一起看看吧2023-07-07通過(guò)U盤(pán)實(shí)現(xiàn)本機(jī)添加管理員權(quán)限
通過(guò)U盤(pán)啟動(dòng)盤(pán)實(shí)現(xiàn)添加本地管理員權(quán)限的方法,需要的朋友可以參考下2013-07-07