中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]共享自己写的BAT网络配置修改工具.
作者:
标题: [原创]共享自己写的BAT网络配置修改工具. 上一主题 | 下一主题
cnLiou
新手上路





积分 16
发帖 6
注册 2008-5-10
状态 离线
『楼 主』:  [原创]共享自己写的BAT网络配置修改工具.

@Color 0A
@Title 网络配置工具 By Liou
@Pushd %CD%
@Prompt $G
@SETLOCAL ENABLEDELAYEDEXPANSION

@REM 网络名称配置, Network后面的数字是运行脚本时的第一个参数
@Set NetWork1=本地连接
@Set NetWork2=无线连接

@REM 网络参数配置, 查看脚本帮助时可以看到此配置。
@Set NetworkCfg0=自动获取配置
@Set NetworkCfg1=本地局域网 192.168.0.1
@Set NetworkCfg2=本地局域网 192.168.1.1
@Set NetworkCfg-c=ipconfig /all
@Set NetworkCfg-h=参数配置查看

@REM 各网络配置命令,用一行命令完成。
@Set NetworkCfgCall0=netsh interface ip set address name="NetworkName" source=dhcp
@Set NetworkCfgCall1=netsh interface ip set address name="NetworkName" static 192.168.0.1 255.255.255.0
@Set NetworkCfgCall2=netsh interface ip set address name="NetworkName" static 192.168.1.1 255.255.255.0
@Set NetworkCfgCall-c=Goto CheckCfg
@Set NetworkCfgCall-h=Goto ScriptUsage

@REM 单参数命令放在此前判断,判断如果网络配置参数为空,则默认设置本地连接,第一个参数即为网络配置参数。
@IF "%1"=="" (     
        @Goto CheckCfg
)
@IF "%2"=="" (
        @Set Network=%Network1%
        @Call Set NetworkCfg=%%NetworkCfg%1%%
        @IF NOT DEFINED NetworkCfg%1 Goto ParamError
        @Set NetworkCfgIndex=%1
        @Goto NetworkCfg
)

@Set Network=
@Set NetworkCfg=
@Set NetworkCfgIndex=%2

@Call Set Network=%%Network%1%%
@IF NOT DEFINED Network%1 Goto ParamError

@Call Set NetworkCfg=%%NetworkCfg%2%%
@IF NOT DEFINED NetworkCfg%2 Goto ParamError

@Goto NetworkCfg

:ParamError
@Echo 你执行的命令为IP %1 %2
@Echo.
@Echo 参数使用不正确.请使用IP /C 查看配置说明.
@Echo.
@Goto ScriptUsage

@REM ==========================LocalNet==========================
:NetworkCfg
@Echo 正在查看或修改 "%Network%" 的网络配置, 相关命令或配置为 "%NetworkCfg%" , 请稍候......
@Call Set NetworkCfgCall=%%NetworkCfgCall%NetworkCfgIndex%%%
@IF NOT DEFINED NetworkCfgCall%NetworkCfgIndex% Goto ScriptUsage
@Echo =====================================================================================
@Call Set NetworkCfgCall=%%NetworkCfgCall:NetworkName=%Network%%%
@%NetworkCfgCall%
@Goto CheckCfg

@REM ==========================ScriptUsage==========================
:ScriptUsage
@Echo 参数配置查看
@Echo ---------------------------------------------
@Echo.
@Echo 第一个参数配置(网卡序号,省略时默认设置第一个网卡):
@Echo.
@FOR /L %%i IN (1,1,10) DO @Call Set NetworkI=%%Network%%i%% && (@IF DEFINED Network%%i @Echo         =%%i,  !NetworkI!)
@Echo.
@Echo ---------------------------------------------
@Echo.

@Echo 第二个参数配置(网络配置序号):
@Echo.
@FOR /L %%i IN (1,1,20) DO @Call Set NetworkCfgI=%%NetworkCfg%%i%% && (@IF DEFINED NetworkCfg%%i @Echo         =%%i,  !NetworkCfgI!)
@Echo         =-c,  %NetworkCfg-c%
@Echo         =-h,  %NetworkCfg-h%
@Echo.
@Echo ---------------------------------------------
@Echo.
@Pause
@Exit

:CheckCfg
@Echo 当前网络配置如下:
@IpConfig.exe /all
@Echo.
@Pause
@Exit

[ Last edited by cnLiou on 2008-5-10 at 04:43 AM ]

2008-5-10 04:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
llrrqq
初级用户




积分 139
发帖 20
注册 2004-10-20
状态 离线
『第 2 楼』:  

这是个好东西啊,谢谢你!

2008-5-10 21:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: