由于访问GitHub时,网络总是不太稳定,但我又特别的懒,不想老是去修改文件,才想弄这么一个小脚本,便于以后方便使用。

#主要命令:

  •         nslookup host [server]

#大致需要的域名 [host server]

  1. raw.githubusercontent.com
  2. github.com gist.github.com
  3. codeload.github.com
  4. github.global.ssl.fastly.net
  5. assets-cdn.github.com
  6. cloud.githubusercontent.com

#主要修改的文件 window系统下的

        c:\windows\system32\drivers\etc\hosts

        由于时间关系,先大致的把代码丢上来,后续在详细修改:

@echo off

::设置bash界面上显示的字符格式为:utf-8
@chcp 65001 >>nul

REM 变量延迟
setlocal enabledelayedexpansion

rem -------------------------- Main --------------------------
:Main
:: 由于bat语句对字符串的处理只处理一次,因此需要多次处理的话,得依靠循环,将字符串循环导出
set hostList='raw.githubusercontent.com github.com gist.github.com codeload.github.com github.global.ssl.fastly.net assets-cdn.github.com cloud.githubusercontent.com'

::当前路径下创建一个host_tmp.txt
set committmp=%~sdp0host_tmp.txt

::系统路径下的hosts文件
set host_etc=c:\windows\system32\drivers\etc\hosts

call :Check_host %committmp%

pause && cls
goto :Main

::程序结束
pause && exit

:Load_host
echo "查看文件内容"
type %1

goto :eof

:Add_host
type %committmp% >> %host_etc% && echo hostlist已添加
ipconfig /flushdns

goto :eof

:Check_host
set filename=%1
echo !filename!
if EXIST !filename! (
		::文件存在,询问1、查看,2、add
		echo host文件当前存在,请选择:
		echo "1、查看文件内容"
		echo "2、将当前host内容添加到系统host里"
		set /p artval=" "
		if !artval! equ 1 (
			call :Load_host !filename!
			)
		if !artval! equ 2 (
			call :Add_host
			)
		if !artval! equ "" (
			exit
			)
	) else (
		::文件不存在,询问1、nslookup
		echo "host文件不存在,是否进行nslookup?"
		echo "1、获取dns地址,2、不获取"
		set /p val="请输入选项:"
		if !val! equ 1 (
			echo "ready to read,kock enter please!!!"
			call :Loop_split !hostList!
			)
		if !val! equ 2 (
			exit
			)
	)

goto :eof

:SaveResult
set hostid=%1
for /F "tokens=*"  %%i in ('nslookup host !hostid! ^| findstr /i address') do ( set hostAddr=%%i)
set hostid_result=!hostAddr:~10! %hostid%
echo %hostid_result%
echo %hostid_result% >>!committmp!
goto :eof

:Loop_split
set string=%*

for /f "tokens=1,* delims=,' " %%i in ("%string%") do (
	set tmphost=%%i
	set result=%%j
	)
call :SaveResult !tmphost!

if not "%result%"=="" (
	call :Loop_split '!result!'
	)
goto :eof


以下为我参考的相关连接,由于大致内容相似,就选个比较简略的吧:

windows修改host,支持GitHub___小钰的博客-CSDN博客_win hosts 添加githubzhost支持GitHubhttps://blog.csdn.net/dly15873944157/article/details/128203569?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~AD_ESQUERY~yljh-1-128203569-blog-126824391.pc_relevant_aa2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~AD_ESQUERY~yljh-1-128203569-blog-126824391.pc_relevant_aa2&utm_relevant_index=2

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐