手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >SunTB编写IP地址设置切换批处理
SunTB编写IP地址设置切换批处理
摘要:修正一个提取网络连接名称的错误,原因在于之前在FOR中使用空格作为分隔符如果网络连接名为“本地连接2”,原来只会识别成“本地连接”,从而导致...

修正一个提取网络连接名称的错误,原因在于之前在FOR中使用空格作为分隔符

如果网络连接名为“本地连接 2”,原来只会识别成“本地连接”,从而导致设置失败

现已更正

说明:1、可以选择要设置的网络连接

2、可以手动设定固定IP,也可以通过DHCP自动获取

3、可以在批处理中预设多组MAC与IP对应数据,当内网有MAC绑定时可快速查询相应IP

4、DNS设置提供四类数据(中国电信、 中国联通/中国网通、中国移动/ 国铁通、内网网关)

DNS为福州地区数据,请自行更改为当地各宽带运营商DNS

5、再添加一功能:在设置完毕后可以选择是否当本机MAC及IP数据添加到本批处理中以便下次自动识别

批处理代码如下:

复制代码 代码如下:

@title IP地址设置切换批处理 By SunTB

@echo off & setlocal enabledelayedexpansion

if exist "%windir%system32slmgr.vbs" (

echo.&echo 本批处理在 VISTA 以及 WIN7 中须以管理员身份运行

echo.&echo 请查看批处理窗口标题栏信息开头是否为“管理员:”

echo.&echo 如符合上述条件可按任意键继续,否则请退出批处理后以管理员身份重新运行

pause>nul

)

set n=0

for /f "delims=:" %%a in ('ipconfig/all^|findstr /i /b /c:"Ethernet adapter"') do (set /a n=!n!+1&set str=%%a&set net!n!=!str:~17!)

set n=0

for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /i /c:"Description"') do (set /a n=!n!+1&set netcard!n!=%%a)

set n=0

for /f "tokens=2 delims=:" %%a in ('ipconfig/all^|findstr /i /c:"Physical Address"') do (set /a n=!n!+1&set MAC!n!=%%a)

:net

echo.&echo 请选择当前本机要设置的网络链接:

for /l %%a in (1,1,!n!) do (

echo.

echo %%a - !net%%a! - !netcard%%a!

echo MAC 地址:!MAC%%a!

)

echo.&set num=&set /p num=请输入序号并回车加以选择:

cls

if defined net%num% (set NET=!net%num%!&set MAC=!MAC%num%: =!&set MAC=!MAC:~0,17!) else (echo.&echo 输入的序号有误,请重新选择!&goto :net)

:lib

set MASK=255.255.255.0

set GATE=192.168.0.1

cls&echo.&echo 当前 !NET! 的 MAC 为 !MAC!

for /f "tokens=2 delims=[]" %%a in ('findstr /i "!MAC!" %0') do set IP=%%a

if defined IP (

set inbat=1

echo.&echo 在批处理数据库中找到对应数据

echo.&echo IP : !IP!

echo.&echo 子网掩码 : !MASK!

echo.&echo 网关 : !GATE!

echo.&set /p IP=如需改变 IP 数据请手动输入并回车,如取默认值请直接回车 :

echo.&set /p MASK=如需改变 子网掩码 数据请手动输入并回车,如取默认值请直接回车 :

echo.&set /p GATE=如需改变 网关 数据请手动输入并回车,如取默认值请直接回车 :

goto :isp

) else (

set inbat=0

echo.&echo 在批处理数据库中未找到对应 IP ,请手动选择 IP 设置方式

goto :lan

)

:lan

echo.&echo 当前要设置的网络链接是:

echo.&echo !NET! - !netcard%num%!

echo.&echo 请选择 IP 设置方式:

echo.&echo 1 - 手动设定固定 IP

echo.&echo 2 - DHCP 自动获取

echo.&set choose=&set /p choose=请输入序号并回车加以选择:

cls

if %choose% equ 1 goto :set

if %choose% equ 2 goto :dhcp

echo.&echo 输入的序号有误,请重新选择!&goto :lan

:set

set IP=192.168.0.9

cls&echo.&echo 默认 IP 为 !IP! ,如需改变请手动输入并回车,如取默认值请直接回车:

echo.&set /p IP=

cls&echo.&echo 默认子网掩码为 !MASK! ,如需改变请手动输入并回车,如取默认值请直接回车:

echo.&set /p MASK=

cls&echo.&echo 默认网关为 !GATE! ,如需改变请手动输入并回车,如取默认值请直接回车:

echo.&set /p GATE=

:isp

cls&echo.&echo 请选择宽带线路对应 DNS (福州地区):

echo.&echo 1 - 中国电信

echo.&echo 2 - 中国联通 / 中国网通

echo.&echo 3 - 中国移动 / 中国铁通

echo.&echo 4 - 内网网关%GATE%

echo.&set isp=&set /p isp=请输入序号并回车加以选择:

if %isp% equ 1 (call :10000&goto :doset)

if %isp% equ 2 (call :10010&goto :doset)

if %isp% equ 3 (call :10086&goto :doset)

if %isp% equ 4 (set DNS1=%GATE%&goto :doset)

echo.&echo 输入的序号有误,请重新选择!&goto :isp

:doset

cls&echo.&echo 正在设置 %NET% ,IP 地址为 %IP%,请稍候...

netsh interface ip set address name="%NET%" static %IP% %MASK% %GATE% 1 >nul

netsh interface ip set dns name="%NET%" static %DNS1% >nul

if defined DNS2 netsh interface ip add dns name="%NET%" %DNS2% 2 >nul

goto :end

:dhcp

cls&echo.&echo 正在设置 %NET% ,自动获取 IP 及 DNS ,请稍候...

netsh interface ip set address name="%NET%" DHCP >nul 2>nul

netsh interface ip set dns name="%NET%" DHCP >nul 2>nul

goto :end

:end

cls

ipconfig/all

echo.&echo 设置完毕,当前 IP 信息如上,请仔细查看

if !inbat! equ 0 (

echo.&echo 输入 Y 并回车可将本机 MAC 及 IP 数据添加到本批处理中以便下次自动识别

echo.&set /p addbat=若不添加数据请直接回车退出:

if /i !addbat! equ Y echo>>%0 [!MAC!]!IP!

) else (pause>nul)

exit

************************************************************

::以下DNS仅供福州地区使用,请自行更改为本地区各宽带运营商DNS

:10000

set DNS1=218.85.152.99

set DNS2=218.85.157.99

goto :eof

:10010

set DNS1=58.22.96.66

set DNS2=218.104.128.106

goto :eof

:10086

set DNS1=222.47.29.93

set DNS2=222.47.62.142

goto :eof

************************************************************

主机MAC与IP分配对应数据库,当内网有MAC绑定时可快速查询相应IP

可按示例格式([MAC地址]IP地址)自行添加,每组数据单独一行

示例:

[11-22-33-44-55-66]192.168.0.1

************************************************************

【SunTB编写IP地址设置切换批处理】相关文章:

DOS 下的批处理文件

MSDOS.SYS文件的参数设置方法

获取文件更新列表 批处理

arp病毒 防止arp病毒的批处理

为cmd设置密码的批处理

用某行内容替换特定字符

反序列出文本的每行内容的批处理

配置IP地址的批处理代码

在机上创建一个用户的批处理

IIS ASP.NET 版本转换批处理代码

精品推荐
分类导航