打印本页〗〖打印选项
用批处理(.BAT)自动设置计算机名/IP地址/DNS 二
@echo off
title=IP自动设置程序---Design By:风流才子([url]http://www.54caizi.com)[/url]
color 0A

rem *************** IP地址自动设置程序 ***************
rem    免费程序,可在 GNU 框架下自由分发或/和修改。
rem    程序制作:风流才子   [url]http://www.54caizi.com[/url]
rem **************************************************

set find=%SystemRoot%\System32\find.exe
set config=%SystemRoot%\System32\ipconfig.exe

if not "%1" == "%*" goto :syntax
if /I "%1"=="/?" goto :help
if /I "%1"=="/dhcp" goto :godhcp
if /I "%1"=="/static" goto :gostatic
if /I "%1"=="/restore" goto :gorestore
goto :start

:syntax
echo.
echo 调用语法错误,程序终止!
goto :end

:help
cls
echo.
echo                       IP地址自动设置程序 - 说明
echo       ==========================================================
echo               免费程序,可在 GNU 框架下自由分发或/和修改
echo               程序制作:风流才子  [url]http://www.54caizi.com[/url]
echo       ----------------------------------------------------------
echo        本程序设置全智能化,通常单机ADSL上网的用户,用全自动静态
echo        IP设置即可,其实动态IP通常也能正常上网,但电脑启动速度会
echo        变慢。因为系统会自动去搜索DHCP,并获取DHCP分配的IP设置。
echo.
echo        本程序支持带参数调用,参数如下:
echo.
echo        /dhcp ................. 自动设置成动态IP
echo        /static ............... 自动设置成静态IP (192.168.1.168)
echo                                自动设置子网掩码 (255.255.255.0)
echo                                自动设置网关地址 (192.168.1.1)
echo        /static IP Mask Geteway
echo                                参数形式设置IP,子网掩码及网关地址
echo          (例:/static 192.168.1.100 255.255.255.255 192.168.1.1)

echo       ==========================================================
echo       按任一键进入程序菜单,选择相应的操作。
pause >nul

:start
cls
echo                     ╭─────────────╮
echo       ╭──────┤    IP地址自动设置程序    ├──────╮
echo       │            ╰─────────────╯            │
echo       │本程序能为您自动或手动设置合适的IP,网关及DNS          │
echo       │                                   Design By: 风流才子│
echo       ╰───────────────────────────╯
echo.
echo        1. 设置成动态IP (局域网或路由上网且路由开放DHCP功能)
echo        2. 设置成静态IP (拨号或路由上网且路由没开放DHCP功能)
echo        H. 查看帮助说明
echo        Q. 退出程序
echo       ==========================================================
set type=
set /P type=      请选择: [1],[2],[H] 或 [Q] ?
if /I "%type%"=="1" goto :godhcp
if /I "%type%"=="2" goto :gostatic
if /I "%type%"=="H" goto :help
if /I "%type%"=="Q" goto :end
goto :start

:godhcp
echo.
echo 正在设置动态IP地址,请稍候!
netsh interface ip set address name="本地连接" source=dhcp >nul
goto :comm

:gostatic
cls
echo.
echo        1. 全自动设置静态IP,子网掩码及网关 (适合单机ADSL拨号上网)
echo        2. 手动指定静态IP,子网掩码及网关 (适合于局域网且有IP限制)
echo        B. 返回上一菜单
echo        Q. 退出本程序
echo       ==========================================================
set stype=
set /P stype=      请选择: [1],[2],[B] 或 [Q] ?
if /I "%stype%"=="1" goto :autostatic
if /I "%stype%"=="2" goto :inputstatic
if /I "%stype%"=="Q" goto :end
if /I "%stype%"=="B" goto :start
goto :gostatic

:autostatic
echo.
echo       将IP地址设置成 192.168.1.168
echo       子网掩码设置成 255.255.255.0
echo       网关地址设置成 192.168.1.1
echo.
set confirm=
set /P confirm=      确认吗? [Y]确认,[N]返回主菜单:
if /I "%confirm%"=="N" goto :start
if /I "%confirm%"=="Y" (
        echo.
        echo       正在设置IP地址及子网掩码
        netsh interface ip set address name="本地连接" source=static addr=192.168.1.168 mask=255.255.255.0 >nul
        echo       正在设置默认网关地址
        netsh interface ip set address name="本地连接" gateway=192.168.1.1 gwmetric=0 >nul
        goto :comm
)
goto :autostatic

:inputstatic
set /P IP=      请输入 IP 地址 (格式:192.168.1.168) :
set /P Mask=      请输入子网掩码 (格式:255.255.255.0) :
set /P Gateway=      请输入网关地址 (格式:192.168.1.1) :
echo.
echo       正在根据您输入的资料进行设置 ......
netsh interface ip set address "本地连接" source=static addr=%IP% mask=%Mask% gateway=%Geteway% gwmetric=0 >nul
goto :comm

:comm
echo       正在设置DNS,请稍候!
netsh interface ip set dns name="本地连接" source=static addr=202.96.134.133 register=PRIMARY >nul
netsh interface ip add dns name="本地连接" addr=202.96.128.68 index=2 >nul
netsh interface ip add dns name="本地连接" addr=203.77.1.1 index=3 >nul
netsh interface ip add dns name="本地连接" addr=203.77.1.20 index=4 >nul
::netsh interface ip set wins name="本地连接" source=static addr=none >nul
echo.
echo       设置完成,按任一键查看您目前的网络信息:
pause >nul
cls
ipconfig/all

::netsh int ip show address

echo.
echo    按任一键退出程序!
pause >nul

:end
echo.



文章作者:未知