win7下批处理bat文件:切换网络设置

来源:互联网 发布:网络女主播圈子很乱 编辑:程序博客网 时间:2024/06/01 08:52

自己用

@echo off
title –网络自动设置 –
@MODE con: COLS=80 lines=30
color 0A
:main
cls

echo 按提示操作
echo:
echo 1、公司网络设置
echo 2、自动获取设置

echo:
set /p choice=您的选择(0 to quit):
if “%choice%”==”1” goto NET_COMPANY
if “%choice%”==”2” goto NET_DORMITORY
if “%choice%”==”0” goto END
goto main

:NET_COMPANY
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name=”本地连接” source=static addr=192.168.12.222 mask=255.255.255.0 gateway=192.168.12.1 gwmetric=1
echo 正在设置首选DNS服务器
cmd /c netsh interface ip set dns name=”本地连接” source=static addr=202.103.224.68 register=PRIMARY
echo 正在设置备用DNS服务器
cmd /c netsh interface ip add dns name=”本地连接” addr=202.103.225.68
echo 设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:NET_DORMITORY
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name=”本地连接” source=dhcp
echo 正在设置首选DNS服务器
cmd /c netsh interface ip set dns name=”本地连接” source=dhcp
echo 自动获取设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:END
exit

/////////////////////////////////////////////////////////////

说明:
1、本程序用于经常需要在公司、住宿地等几个地方来回切换网络设置的用户,为大家省去诸多麻烦
2、本程序功能:①一键自动设置IP、网关等网络设置;②可将IP设置成自动获取;②可将IP设置成手动输入; ③一键清除IE代理,一键设置IE代理
2、win7下测试通过,使用本程序时,只需修改IP、网关、IE代理几个参数即可
3、有问题欢迎私信新浪微博Micro_Cai

@echo off
title –网络自动设置 –
@MODE con: COLS=80 lines=30
color 0A
:main
cls

echo 按提示操作
echo:
echo 1、公司网络设置
echo 2、宿舍网络设置
echo 3、DHCP网络设置
echo 4、手动网络设置
echo 5、设置 IE 代理
echo 6、清除 IE 代理

echo:
set /p choice=您的选择(0 to quit):
if “%choice%”==”1” goto NET_COMPANY
if “%choice%”==”2” goto NET_DORMITORY
if “%choice%”==”3” goto NET_DHCP
if “%choice%”==”4” goto NET_HANDSET
if “%choice%”==”5” goto SET_IEAGENT
if “%choice%”==”6” goto CLR_IEAGENT
if “%choice%”==”0” goto END
goto main

:NET_COMPANY
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name=”本地连接” source=static addr=192.168.20.190 mask=255.255.255.0 gateway=192.168.20.1 gwmetric=1
echo 正在设置首选DNS服务器
cmd /c netsh interface ip set dns name=”本地连接” source=static addr=192.168.10.10 register=PRIMARY
echo 正在设置备用DNS服务器
cmd /c netsh interface ip add dns name=”本地连接” addr=192.168.10.10
echo 设置IE代理服务器
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyEnable /t REG_DWORD /d 1 /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyServer /d “192.168.13.19:7777” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyOverride /t REG_SZ /d “192.168.;.ffcs.cn;” /f
echo IE代理设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:NET_DORMITORY
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name=”本地连接” source=static addr=172.17.69.53 mask=255.255.255.0 gateway=172.17.69.254 gwmetric=1
echo 正在设置首选DNS服务器
cmd /c netsh interface ip set dns name=”本地连接” source=static addr=218.85.157.99 register=PRIMARY
echo 正在设置备用DNS服务器
cmd /c netsh interface ip add dns name=”本地连接” addr=172.100.100.100
echo 设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:NET_HANDSET
set IP_ADDR=
set/p IP_ADDR=请输入IP地址:
cmd /c netsh interface ip set address name=”本地连接” source=static addr=%IP_ADDR% mask=255.255.255.0
set GATEWAY=
set/p GATEWAY=请输入网关地址:
netsh interface ip set address name=”本地连接” gateway=%GATEWAY% gwmetric=auto
set FIRST_DNS=
set/p FIRST_DNS=请输入首选DNS地址:
cmd /c netsh interface ip set dns name=”本地连接” source=static addr=FIRST_DNS register=PRIMARY
set SECOND_DNS=
set/p SECOND_DNS=请输入备用DNS地址:
cmd /c netsh interface ip add dns name=”本地连接” addr=SECOND_DNS
echo 设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:NET_DHCP
echo 设置DHCP网络
netsh interface ip set address name = “本地连接” source = dhcp
netsh interface ip set dns name = “本地连接” source = dhcp
netsh interface ip set wins name = “本地连接” source = dhcp
echo DHCP网络设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:SET_IEAGENT
echo 设置IE代理服务器
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyEnable /t REG_DWORD /d 1 /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyServer /d “192.168.13.19:7777” /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyOverride /t REG_SZ /d “192.168.;.ffcs.cn;” /f
echo IE代理设置完成

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:CLR_IEAGENT
echo 清除IE代理
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyEnable /t REG_DWORD /d 0 /f
reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyServer /d “” /f
echo IE代理已清除

CHOICE /C YN /M “退出:[Y],返回:[N]”
if errorlevel 2 goto main
if errorlevel 1 goto end

:END
exit

//////////////////////////////////////////////////////////////////////

:: ==============================
:: code by fireghost57
:: modify: 2013.08.30
:: ==============================
@echo off
title 自动设置网络
setlocal enabledelayedexpansion %/开启此项后可在截取字符串时保存截取内容/%
netsh wlan set hostednetwork mode=disallow %/承载网络模式不禁止的话不可使用(默认都没有承载模式)/%
cls

:START
Rem =========== 生成配置 ===========
set “ipconfig_dir=ipconfig.ini”
if not exist %ipconfig_dir% (
echo [查找主机]> %ipconfig_dir%
echo IP_find=>> %ipconfig_dir%
echo MAC_find=>> %ipconfig_dir%
echo [修改参数]>> %ipconfig_dir%
echo HOSTNAME_set=>> %ipconfig_dir%
echo IP_set=>> %ipconfig_dir%
echo MAC_set=>> %ipconfig_dir%
echo MASK_set=>> %ipconfig_dir%
echo GATEWAY_set=>> %ipconfig_dir%
echo DNS1_set=>> %ipconfig_dir%
echo DNS2_set=>> %ipconfig_dir%
)

:LISTEN
set isChinese=false
set f_Hostname=Name
set f_Adapter=Ethernet adapter
set /a f_Adapter_tokens=2
set f_Desc=Description
set f_IP=IP Address
set f_MAC=Physical Address
:: 查找主机名
set /a line=0
for /f “tokens=2* delims=:” %%i in (‘ipconfig/all^|findstr /c:”%f_Hostname%”’) do (
set /a line+=1
set “Name_host=%%i”
)
:: 语言选择
if %line% EQU 0 (
goto LISTCN
)
goto OS_VER

:LISTCN
set isChinese=true
set f_Hostname=主机名
set f_Adapter=适配器
set /a f_Adapter_tokens=1
set f_Desc=描述
set f_IP=IPv4 地址
set f_MAC=物理地址
:: 查找主机名
set /a line=0
for /f “tokens=2* delims=:” %%i in (‘ipconfig/all^|findstr /c:”%f_Hostname%”’) do (
set /a line+=1
set “Name_host=%%i”
)
:: 语言选择
if %line% EQU 0 (
goto LISTERR
)
goto OS_VER

:LISTERR
echo 本程序暂不支持此系统,程序自动退出
pause>nul
goto END

:OS_VER
ver | find “5.0.” > nul && goto show50
ver | find “5.1.” > nul && goto show51
ver | find “5.2.” > nul && goto show52
ver | find “6.0.” > nul && goto show60
ver | find “6.1.” > nul && goto show61
goto GETINFO

:show50
@echo —————————————-
@echo 当前系统是:[ Windows2000 ]
@echo —————————————-
goto GETINFO

:show51
@echo —————————————-
@echo 当前系统是:[ WindowsXP ]
@echo —————————————-
goto GETINFO

:show52
@echo —————————————-
@echo 当前系统是:[ Windows2003 ]
@echo —————————————-
goto GETINFO

:show60
@echo —————————————-
@echo 当前系统是:[ WindowsVista ]
@echo —————————————-
goto GETINFO

:show61
@echo —————————————-
@echo 当前系统是:[ Windows7 ]
@echo —————————————-
goto GETINFO

:GETINFO
:: 查找连接名称
set /a line=0
for /f “tokens=1 delims=:” %%i in (‘ipconfig/all^|findstr /c:”%f_Adapter%”’) do (
:: 过滤无效记录
set srcStr=%%i
set tgtStr=%f_Desc%
:: 判断是否包含字符串,逻辑与命令若为真,不再继续执行后面语句,否则继续执行逻辑或后半部
echo !srcStr!|findstr !tgtStr!>nul && set isExist=true || set isExist=false
if !isExist! == false (
:: 过滤连接名称,取第一部分为%%a,剩余部分为%%b
for /f “tokens=%f_Adapter_tokens%,* delims= ” %%a in (“!srcStr!”) do (
set /a line+=1
set “Lan_!line!=%%b”
)
)
)
:: 过滤字符串
set Name_host=%Name_host: =%
:: 输出信息
ipconfig /all>[“%Name_host%”].cfg
:GETDESC
:: 获取网卡信息
set /a line=0
for /f “tokens=1,3 delims=:” %%i in (‘findstr /n /c:”%f_Desc%” [%Name_host%].cfg’) do (
set /a line+=1
set Sech_!line!=%%i
set Desc_!line!=%%j
echo !line!.%%j
)
echo 发现%line%条网卡信息.
:: 网卡序号选择
if %line% == 1 (
set /a num=1
) else (
set /p num=请输入要处理的网卡序号:
)
set /a next_num=num+1
if %num% LEQ 0 (
:: 小于最小值
goto INPUTERR
) else (
:: 大于最大值
if %num% GTR %line% (
goto INPUTERR
)
)
:: 设置网络连接名称
set Lan_Name=!Lan_%num%!
goto GETNETINFO

:INPUTERR
echo 输入错误,请重新输入.
pause>nul
cls
goto GETDESC

:: 获取网络信息
:GETNETINFO
:: 查找IP信息
set “IP_host= ”
for /f “tokens=1,3 delims=:” %%i in (‘findstr /n /c:”%f_IP%” [%Name_host%].cfg’) do (
if !num! neq !line! (
:: 不是最大值
if !Sech_%num%! leq %%i (
if %%i leq !Sech_%next_num%! (
set IP_host=%%j
)
)
) else (
:: 是最大值
if !Sech_%num%! leq %%i (
set IP_host=%%j
)
)
)
:: 查找MAC信息
set “MAC_host= ”
for /f “tokens=1,3 delims=:” %%i in (‘findstr /n /c:”%f_MAC%” [%Name_host%].cfg’) do (
if !num! neq !line! (
:: 不是最大值
if !Sech_%num%! leq %%i (
if %%i leq !Sech_%next_num%! (
set MAC_host=%%j
)
)
) else (
:: 是最大值
if !Sech_%num%! leq %%i (
set MAC_host=%%j
)
)
)

:: 网卡序号初始化  set /a CrdNum=1  :: 转存网卡描述  set Desc=!Desc_%num%!  

goto FNDA

:: 在注册表中查找 10位以内 %Desc% 网卡注册信息
:FNDA
for /f “tokens=2*” %%i in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum% /v DriverDesc’) do (
set DrvDesc=%%j
)
if “%Desc%” EQU ” %DrvDesc%” goto SETNETINFO

set /a CrdNum=CrdNum+1  if %CrdNum% GEQ 10 goto FNDB  

goto FNDA

:: 在注册表中查找 大于10位 %Desc% 网卡注册信息
:FNDB
for /f “tokens=2*” %%i in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum% /v DriverDesc’) do (
set DrvDesc=%%j
)
if “%Desc%” EQU ” %DrvDesc%” goto SETNETINFO

set /a CrdNum=CrdNum+1  if %CrdNum% GEQ 40 goto FNDERR  

goto FNDB

:: 未找到网卡信息
:FNDERR
cls
@echo 输入错误,请重新输入.
pause
goto LISTEN

Rem =========== 根据设定配置网络参数 ===========
:SETNETINFO
:: 过滤字符串
set Name_host=%Name_host: =%
set Desc=%Desc:~1%
set IP_host=%IP_host: =%
set MAC_host=%MAC_host: =%
if %isChinese% == true (
set IP_host=%IP_host:(=%
set IP_host=%IP_host:首选=%
set IP_host=%IP_host:)=%
)
:: 显示
echo.
echo 本机名称: [%Name_host%]
echo 网卡名称: [%Desc%]
echo 网卡编号: [%CrdNum%]
echo 网卡IP: [%IP_host%]
echo 网卡MAC: [%MAC_host%]
echo 连接名称: [%Lan_Name%]
echo.

:: set /p mode=[1:自动修改IP和MAC,2:匹配修改IP和MAC,3:只修改IP,4:只修改MAC,5:恢复MAC]:
set /a mode=1

:: =========== 读取配置 ===========  for /f "tokens=1* delims=,:= " %%i in (%ipconfig_dir%) do (      if "%%i"=="IP_find"         (set "IP_find=%%j")      if "%%i"=="MAC_find"        (set "MAC_find=%%j")      if "%%i"=="HOSTNAME_set"    (set "HOSTNAME_set=%%j")      if "%%i"=="IP_set"          (set "IP_set=%%j")      if "%%i"=="MAC_set"         (set "MAC_set=%%j")      if "%%i"=="MASK_set"        (set "MASK_set=%%j")      if "%%i"=="GATEWAY_set"     (set "GATEWAY_set=%%j")      if "%%i"=="DNS1_set"        (set "DNS1_set=%%j")      if "%%i"=="DNS2_set"        (set "DNS2_set=%%j")  )  :: 自动修改IP和MAC  if %mode% == 1 (      :: 自动修改主机名      if "%HOSTNAME_set%" neq "" (          reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %HOSTNAME_set% /f >nul 2>nul           reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %HOSTNAME_set% /f >nul 2>nul           reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %HOSTNAME_set% /f >nul 2>nul           echo 你的主机名为:[%Name_host%]          echo 修改主机名为:[%HOSTNAME_set%]          echo 设置主机名完成          echo.      )      :: 自动修改 IP      if "%IP_set%" neq "" (          :: 子网掩码检查          if "%MASK_set%" equ "" (              echo 子网掩码输入错误!请重试!              pause>nul              cls              goto SETNETINFO          )          :: 设置静态IP          echo 你的IP地址为:[%IP_host%]          echo 修改IP地址为:[%IP_set%]          echo 正在设置本机地址及子网掩码,请稍等......          netsh interface ip set address "%Lan_Name%" source=static addr=%IP_set% mask=%MASK_set%      ) else (          :: 设置动态IP          echo 正在自动获取IP地址,请稍等......          netsh interface ip set address name="%Lan_Name%" source=dhcp      )      :: 自动修改 MAC      if "%MAC_set%" neq "" (          goto SETMAC      ) else (          :: 恢复MAC          goto RSTMAC      )  )  :: 匹配修改IP和MAC  if %mode% == 2 (      :: 匹配修改 IP      if "%IP_find%"=="%IP_host%" (          if "%IP_set%" neq "" (              :: 子网掩码检查              if "%MASK_set%" equ "" (                  echo 子网掩码输入错误!请重试!                  pause>nul                  cls                  goto SETNETINFO              )              :: 设置静态IP              echo 你的IP地址为:[%IP_host%]              echo 修改IP地址为:[%IP_set%]              echo 正在设置本机地址及子网掩码,请稍等......              netsh interface ip set address "%Lan_Name%" source=static addr=%IP_set% mask=%MASK_set%          ) else (              :: 设置动态IP              echo 正在自动获取IP地址,请稍等......              netsh interface ip set address name="%Lan_Name%" source=dhcp          )      )      :: 匹配修改 MAC      if "%MAC_find%"=="%MAC_host%" (          if "%MAC_set%" neq "" (              goto SETMAC          ) else (              :: 恢复MAC              goto RSTMAC          )      )  )  :: 只修改IP  if %mode% == 3 (      if "%IP_set%" neq "" (          :: 子网掩码检查          if "%MASK_set%" equ "" (              echo 子网掩码输入错误!请重试!              pause>nul              cls              goto SETNETINFO          )          :: 设置静态IP          echo 你的IP地址为:[%IP_host%]          echo 修改IP地址为:[%IP_set%]          echo 正在设置本机地址及子网掩码,请稍等......          netsh interface ip set address "%Lan_Name%" source=static addr=%IP_set% mask=%MASK_set%      ) else (          :: 设置动态IP          echo 正在自动获取IP地址,请稍等......          netsh interface ip set address name="%Lan_Name%" source=dhcp      )      :: 设置网络参数      goto SETNET  )  :: 只修改MAC  if %mode% == 4 (      if "%MAC_set%" neq "" (          goto SETMAC      ) else (          :: 恢复MAC          goto RSTMAC      )  )  :: 恢复MAC  if %mode% == 5 (      :: 恢复 MAC      goto RSTMAC  )  cls  

goto SETNETINFO

:: 恢复 MAC
:RSTMAC
echo 正在恢复本机物理地址,请稍等……

:: 过滤字符串  set MAC_set=%MAC_set:-=%  if %CrdNum% GEQ 10 goto RSTREGB  

goto RSTREGA

:: 在注册表中恢复 10位以内 NetworkAddress 网卡注册信息
:RSTREGA
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%” /v NetworkAddress /f
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%\Ndi\Params\NetworkAddress” /v Default /f
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%\Ndi\Params\NetworkAddress” /v Default /t reg_sz /d “” /f
goto READNIC

:: 在注册表中恢复 大于10位 NetworkAddress 网卡注册信息
:RSTREGB
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%” /v NetworkAddress /f
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%\Ndi\Params\NetworkAddress” /v Default /f
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%\Ndi\Params\NetworkAddress” /v Default /t reg_sz /d “” /f
goto READNIC

:: 修改 MAC
:SETMAC
echo 你的MAC地址为:[%MAC_host%]
echo 修改MAC地址为:[%MAC_set%]
echo 正在设置本机物理地址,请稍等……

:: 过滤字符串  set MAC_set=%MAC_set:-=%  if %CrdNum% GEQ 10 goto SETREGB  

goto SETREGA

:: 在注册表中修改10位以内 NetworkAddress 网卡注册信息
:SETREGA
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%” /v NetworkAddress /t reg_sz /d %MAC_set% /f
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%\Ndi\Params\NetworkAddress” /v Default /f
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum%\Ndi\Params\NetworkAddress” /v Default /t reg_sz /d %MAC_set% /f
goto READNIC

:: 在注册表中修改大于10位 NetworkAddress 网卡注册信息
:SETREGB
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%” /v NetworkAddress /t reg_sz /d %MAC_set% /f
reg delete “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%\Ndi\Params\NetworkAddress” /v Default /f
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum%\Ndi\Params\NetworkAddress” /v Default /t reg_sz /d %MAC_set% /f
goto READNIC

:: 读网卡ID和NICNAME
:READNIC
if %CrdNum% GEQ 10 (
:: 网卡编号大于10
for /f “tokens=2*” %%i in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\00%CrdNum% /v NetCfgInstanceId’) do (
set CrdID=%%j
)
) else (
:: 网卡编号不大于10
for /f “tokens=2*” %%i in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E972-E325-11CE-BFC1-08002bE10318}\000%CrdNum% /v NetCfgInstanceId’) do (
set CrdID=%%j
)
)
for /f “tokens=2*” %%i in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network{4D36E972-E325-11CE-BFC1-08002BE10318}\%CrdID%\Connection /v Name’) do (
set NICname=%%j
)
goto SETNET

:: 设置网络参数
:SETNET
:: 设置网关
if “%GATEWAY_set%” neq “” (
echo 正在设置本机网关,请稍等……
netsh interface ip set address “%Lan_Name%” gateway=%GATEWAY_set% gwmetric=1
) else (
echo 正在清空本机网关,请稍等……
netsh interface ip delete address “%Lan_Name%” gateway=%GATEWAY_set%
)
:: 设置 DNS
if “%DNS1_set%” neq “” (
echo 正在设置首选DNS ,请稍等……
netsh interface ip set dns “%Lan_Name%” source=static addr=%DNS1_set%
if “%DNS2_set%” neq “” (
echo 正在设置备用DNS ,请稍等……
netsh interface ip add dns “%Lan_Name%” addr=%DNS2_set%
)
) else (
echo 正在设置自动DNS ,请稍等……
netsh interface ip set dns “%Lan_Name%” source=dhcp
)
:: 设置 WINS
echo 正在设置WINS ,请稍等……
netsh interface ip set wins name=”%Lan_Name%” source=static addr=none
:: 重启网卡
netsh interface set interface %NICname% disabled disconnected %NICname%
netsh interface set interface %NICname% enabled connected %NICname%
:: 读取主机名
for /f “tokens=2* delims=:” %%i in (‘ipconfig/all^|findstr /c:”%f_Hostname%”’) do (
set “Name_host=%%i”
)
set Name_host=%Name_host: =%
if “%Name_host%” equ “%HOSTNAME_set%” (
set FileName=%HOSTNAME_set%
) else (
set FileName=%Name_host%
)
echo 设置完成!

ipconfig /all>["%FileName%"].cfg  echo 用户网络信息已保存在 [%FileName%].cfg 文件内  pause>nul  

:END

原创粉丝点击