原创

编写一个自动设置ip地址的批处理

带笔记本去学校机房,每次都要修改ip地址和dns。因为教师机的东西都放在ftp上。学校机房的电脑都设置了正确的ip直接就能连接。麻烦! 所以打算写一个批处理。 首先我们要学习的是如何通过cmd来设置ip地址以及dns地址。 cmd调用netsh这个工具(NetSH 是windows系统本身提供的功能强大的网络配置命令行工具) 通过查找资料可以将最简单的设置方法列出来:

cmd /c netsh interface ip set address name="本地连接" source=static addr=10.10.12.16 mask=255.255.255.0 gateway=10.10.12.254 gwmetric=1

上面这段是设置ip地址以及子网掩码地址 要注意name=“本地连接”这里要根据你网卡名来做修改。

修改完ip地址后,还要修改下dns才可以 可以这样做:

cmd /c netsh interface ip set dns name="本地连接" source=static addr=10.10.1.2 register=PRIMARY

上面这行是设置首选dns地址

cmd /c netsh interface ip add dns name="本地连接" source=static addr=218.85.157.99

上面这行是设置备用dns地址

主要的内容有了我们就可以开始写一个bat的文件来自动执行了。

首先我们要写:

@echo off
title --  Ip设置,软件学院401、403机房专用  --
MODE con: COLS=80 lines=30
color 0a

title:bat执行文件的标题 mode con:cols=80 lines=30 :设置行=30.列=80 color :字体颜色 之后我们可以做一个函数:

:main
echo ======================================================
echo IP自动设置开始....
echo.
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name="本地连接" source=static addr=10.10.12.16 mask=255.255.255.0 gateway=10.10.12.254 gwmetric=1
echo.
echo 正在设置DNS服务器1
echo.
cmd /c netsh interface ip set dns name="本地连接" source=static addr=10.10.1.2 register=PRIMARY
echo.
echo 正在设置DNS服务器2
echo.
cmd /c netsh interface ip add dns name="本地连接" source=static addr=218.85.157.99
echo.
echo 设置完成
echo ======================================================
pause
exit

上面的代码: :main :就是定义一个名为main的函数,用于执行程序徐 echo:就是输出一段普通文本 pause:会在cmd上显示一个提示,按任意键继续。 exit:退出程序 下面发我写的:

@echo off
title --  Ip设置,软件学院401、403机房专用  --
MODE con: COLS=80 lines=30
color 0a
:main
cls
echo ======================================================
echo 请注意:使用Vista、win7、win8的用户请右键使用管理员运行
echo 否则不能正确的执行程序
echo ======================================================
echo 请输入数字来选择下面的选项
echo.
echo [1]将ip设置为401机房用的ip.电脑号为:15
echo [2]将ip设置为403机房用的ip.电脑号为:15
echo [3]将ip设置为自动获取(在宿舍)
echo [4]退出
echo ======================================================
set /p choice=   选择:

if "%choice%"=="1" goto SetIp401
if "%choice%"=="2" goto SetIp403
if "%choice%"=="3" goto AutoIp
if "%choice%"=="4" goto Exit

go to main

:SetIp401
@rem ===========设置401机房使用的ip开始========================
echo ======================================================
echo IP自动设置开始....
echo.
echo 正在设置IP及子网掩码
cmd /c netsh interface ip set address name="本地连接" source=static addr=10.10.12.16 mask=255.255.255.0 gateway=10.10.12.254 gwmetric=1
echo.
echo 正在设置DNS服务器1
echo.
cmd /c netsh interface ip set dns name="本地连接" source=static addr=10.10.1.2 register=PRIMARY
echo.
echo 正在设置DNS服务器2
echo.
cmd /c netsh interface ip add dns name="本地连接" source=static addr=218.85.157.99
echo.
echo 设置完成
echo ======================================================
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto Exit 
@rem ===========设置401机房使用的ip结束========================
:SetIp403
@rem ===========设置403机房使用的ip开始========================
echo ======================================================
echo IP设置开始
echo.
echo 正在设置IP以及子网掩码
cmd /c netsh interface ip set address name="本地连接" source=static addr=10.10.13.15 mask=255.255.255.0 gateway=10.10.13.254 gwmetric=1
echo.
echo 正在设置DNS服务器1
echo.
cmd /c netsh interface ip set dns name="本地连接" source=static addr=10.10.1.2 register=PRIMARY
echo.
echo 正在设置DNS服务器2
echo.
cmd /c netsh interface ip set dns name="本地连接" source=static addr=218.85.157.99
echo.
echo 设置完成
echo.
echo ======================================================
pause
exit
if errorlevel 2 goto main
if errorlevel 1 goto Exit 
@rem ===========设置403机房使用的Ip结束=======================
:AutoIp
@rem ============设置Ip地址为自动获取开始=====================
echo ======================================================
echo IP自动设置开始....
echo.
echo 自动获取IP地址....
echo.
netsh interface ip set address name = "本地连接" source = dhcp
echo.
echo 自动获取DNS服务器....
echo.
netsh interface ip set dns name = "本地连接" source = dhcp 
echo.
echo 设置完成
echo.
echo ======================================================
pause
exit 

if errorlevel 2 goto main
if errorlevel 1 goto Exit
@rem ============设置Ip地址为自动获取结束========================

:Exit
温馨提示:
本文最后更新于 2020年08月19日,已超过 687 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录