中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 修改计算机名\工作组\描述\IP\掩码\网关\DNS的批处理
作者:
标题: 修改计算机名\工作组\描述\IP\掩码\网关\DNS的批处理 上一主题 | 下一主题
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『楼 主』:  修改计算机名\工作组\描述\IP\掩码\网关\DNS的批处理

请高手帮忙,我写的实在是太复杂了,其中有些地方不知道该怎么整的简洁一些,请指教,谢谢!!

已知可以改进的地方:在查询本机信息的时候,可以整合成一个子功能进行调用,但是因为不知道如何 call bat内嵌的代码,所以只好copy了一次。

1、程序目的:我公司给中移动做运营维护,整天有装不完的系统,但是大致分为几类,需要按照一定的规律对计算机进行设置IP,命名等动作。

2、计算机参数设置规律:
计算机IP:
服务厅内网的192开头,根据用途不同,最后一位不同,其他方面IP设置相同。
服务厅业务用机使用10开头的IP,网关不同
工作组规则:根据服务厅拼音全称来设置,例如JINGTIAN
计算机命名规律: 服务厅名字缩写+IP末一位+业务用途 例如 JT-149YW
计算机描述规律:景田服务厅 业务2

3、批处理架构
主程序:修改本机参数.bat 
达到查询、修改以下内容的功能
IP、掩码、网关、DNS、计算机名、工作组、计算机描述、
调用子程序:loadini.bat
达到读取.ini配置文件预设参数的功能
附加程序:生成模板.bat
利用本机配置,生成通用配置文件。方便在其他机器直接调用,不需要手动修改模板文件。

以下是程序内容

★★★★★★★★★★★★★★★★★★★★★★★★★
修改本机参数.bat
echo off
cls
title IP、掩码、网关、计算机名、工作组、计算机描述 简易修改工具  CREATED BY PJH. 080130

if not exist 配置文件 goto err


echo off
cls
echo.
echo   信息收集中,请稍候...

for /f "tokens=3 delims=: " %%a in ('ipconfig ^|findstr "Ethernet"') do set wkname=%%a
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Address"') do set nip=%%b
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Mask"') do set nmask=%%b
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Gateway"') do set ngw=%%b
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^|findstr "DNS"') do set dns=%%a
for /f "delims=" %%a in ('net config workstation ^|find "工作站域"') do set GZZ=%%a
for /f "delims=" %%a in ('net config server ^|find "服务器注释"') do set miaoshu=%%a


cls
echo.
echo  目前的机器情况如下:
echo.
echo     机名: %computername%
echo   工作组:%gzz:~24,60%
echo     描述:%miaoshu:~25,60%
echo       IP:%nip%
echo     掩码:%nmask%
echo     网关:%ngw%
echo      DNS:%dns%
echo.

:slect
echo  请选择本机用途。
echo.
echo     1、蝌台机
echo     2、后台机
echo     3、网吧机
echo     4、业务展示机
echo     5、蝌台触摸屏
echo.
set /p mycho=     请输入您的选择:
cls
if %mycho%#==1# GOTO :cho%mycho%
if %mycho%#==2# GOTO :cho%mycho%
if %mycho%#==3# GOTO :cho%mycho%
if %mycho%#==4# GOTO :cho%mycho%
if %mycho%#==5# GOTO :cho%mycho%
if %mycho%#==# GOTO slect
goto slect

:cho1
set myuse1=Q
set myuse2=蝌台
call loadini 10cfg.ini
goto setting

:cho2
set myuse1=H
set myuse2=后台
call loadini 10cfg.ini
goto setting

:cho3
set myuse1=WB
set myuse2=网吧
call loadini 192cfg.ini
goto setting

:cho4
set myuse1=YW
echo  请选择本机用途:
echo.
echo     1、飞信
echo     2、手机仿真
echo     3、手机报
echo     4、无限音乐俱乐部
echo.
set /p ywyt=     请输入您的选择:
cls
if %ywyt%#==1# set myuse2=飞信&&goto cho4goon
if %ywyt%#==2# set myuse2=手机仿真&&goto cho4goon
if %ywyt%#==3# set myuse2=手机报&&goto cho4goon
if %ywyt%#==4# set myuse2=无限音乐俱乐部&&goto cho4goon
if %ywyt%#==# GOTO cho4
goto cho4
:cho4goon
call loadini 192cfg.ini
goto setting

:cho5
set myuse1=YW
set myuse2=触摸屏
call loadini 192cfg.ini
goto setting

:setting
echo.
echo  本机IP默认前半截为  %fmyip%  请输入本机IP后半截数字
echo.
set /p ips=
if /I %ips% LEQ 0 (cls&echo 输入错误!&goto setting)
if /I %ips% GEQ 255 (cls&echo 输入错误!&goto setting)

for /f "tokens=2 delims==" %%a in ('findstr "服务厅名" 配置文件\服务厅cfg.ini') do set tname=%%a
for /f "tokens=2 delims==" %%a in ('findstr "服务厅简写" 配置文件\服务厅cfg.ini') do set tjx=%%a
for /f "tokens=2 delims==" %%a in ('findstr "默认工作组" 配置文件\服务厅cfg.ini') do set wkgp=%%a
cls
echo.
echo  请问本机是 %myuse2% 几号? 如果无需编号,则回车即可.
set /p mynum=  
cls
echo.
echo  正在进行设置,请稍等……


wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%wkgp%" >nul 2>nul
wmic computersystem where name="%COMPUTERNAME%" call rename name="%tjx%-%ips%%myuse1%" >nul 2>nul
net config server /srvcomment:"%tname% %myuse2%%mynum%" >nul 2>nul
netsh interface ip set address "%wkname%" static %fmyip%%ips% %fmymask% %fmygw% 1 >nul 2>nul
netsh interface ip delete dns "%wkname%" all >nul 2>nul
netsh interface ip add dns "%wkname%" %dns% 1 >nul 2>nul


echo off
cls
echo.
echo   信息收集中,请稍候...

for /f "tokens=3 delims=: " %%a in ('ipconfig ^|findstr "Ethernet"') do set wkname=%%a
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Address"') do set nip=%%b
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Mask"') do set nmask=%%b
for /f "tokens=1-10 delims=:" %%a in ('ipconfig ^|findstr "Gateway"') do set ngw=%%b
for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^|findstr "DNS"') do set dns=%%a
for /f "delims=" %%a in ('net config workstation ^|find "工作站域"') do set GZZ=%%a
for /f "delims=" %%a in ('net config server ^|find "服务器注释"') do set miaoshu=%%a
cls
echo.
echo  目前的机器情况如下:
echo.
echo     机名: %computername%    (重启后才会变化成正确的)
echo   工作组:%gzz:~24,60%
echo     描述:%miaoshu:~25,60%
echo       IP:%nip%
echo     掩码:%nmask%
echo     网关:%ngw%
echo      DNS:%dns%
echo.
echo     修改完毕!按任意键退出程序。


PAUSE >nul 2>nul

exit

:err
echo.
echo.
echo  没有发现配置文件,请先手动设置本机参数再运行 生成本机模板.bat 生成配置信息!
echo.
PAUSE >nul 2>nul
loadini.bat
★★★★★★★★★★★★★★★★★★★★★★★★★
for /f "tokens=2 delims==" %%a in ('findstr "IP前缀" 配置文件\%1') do set fmyip=%%a
for /f "tokens=2 delims==" %%a in ('findstr "默认掩码" 配置文件\%1') do set fmymask=%%a
for /f "tokens=2 delims==" %%a in ('findstr "默认网关" 配置文件\%1') do set fmygw=%%a
for /f "tokens=2 delims==" %%a in ('findstr "DNS" 配置文件\%1') do set dns=%%a
★★★★★★★★★★★★★★★★★★★★★★★★★
生成模板.bat
echo off
MD 配置文件
cls
echo.
echo  正在生成配置文件...
for /f "tokens=3 delims=: " %%a in ('ipconfig ^|findstr "Ethernet"') do set wkname=%%a
for /f "tokens=2 delims=:" %%a in ('ipconfig ^|findstr "Address"') do set nip=%%a
for /f "tokens=2 delims=:" %%a in ('ipconfig ^|findstr "Mask"') do set nmask=%%a
for /f "tokens=2 delims=:" %%a in ('ipconfig ^|findstr "Gateway"') do set ngw=%%a
for /f "delims=" %%a in ('net config workstation ^|find "工作站域"') do set GZZ=%%a

for /f "tokens=2 delims=:" %%a in ('ipconfig /all ^|findstr "DNS"') do set dns=%%a

for /f "delims=" %%a in ('net config server ^|find "服务器注释"') do set miaoshu=%%a
for /f "delims=-" %%a in ("%computername%") do echo 服务厅简写=%%a>配置文件\服务厅CFG.INI
echo 默认工作组=%gzz:~25,60%>>配置文件\服务厅CFG.INI
for /f "delims= " %%a in ("%miaoshu:~25,60%") do echo 服务厅名=%%a>>配置文件\服务厅CFG.INI

echo 默认网关=%ngw%>配置文件\ipCFG.INI
echo 默认掩码=%nmask%>>配置文件\ipCFG.INI
echo DNS=%dns%>>配置文件\ipCFG.INI
for /f "tokens=1-3 delims=." %%a in ("%nip%") do set fstip=%%a&echo IP前缀=%%a.%%b.%%c.>>配置文件\ipCFG.INI
if /i %fstip%==10 (del 配置文件\10cfg.ini /q /f&rename 配置文件\ipCFG.INI 10cfg.ini) else (del 配置文件\192cfg.ini /q /f&rename 配置文件\ipCFG.INI 192cfg.ini)
cls
echo.
echo  操作完毕,请查看文件夹 "配置文件" 下面的文件
echo.
PAUSE
★★★★★★★★★★★★★★★★★★★★★★★★★
服务厅CFG.INI
服务厅简写=CS
默认工作组=CESHIFUWUTING
服务厅名=测试服务厅
★★★★★★★★★★★★★★★★★★★★★★★★★
192cfg.ini
默认网关= 192.200.200.1
默认掩码= 255.255.255.0
DNS=
IP前缀= 192.200.200.
★★★★★★★★★★★★★★★★★★★★★★★★★
10cfg.ini
默认网关= 10.245.17.126
默认掩码= 255.255.255.0
DNS= 10.245.1.2
IP前缀= 10.245.17.
───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-12-05]代码加code标签
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2008-12-5 at 20:13 ]

   此帖被 +3 点积分      点击查看详情   
评分人:【 pusofalse 分数: +3  时间:2008-6-2 14:16


2008-2-1 15:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 2 楼』:  

如果有哪位朋友刚开始接触批处理,想询问其中一些语法的,欢迎提问,我尽力作答。
另请留下email,因为不一定经常有空上网。谢谢!

2008-2-1 15:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
catms
新手上路





积分 12
发帖 6
注册 2008-5-30
状态 离线
『第 3 楼』:  

有点。。。。
太。。。。
强大了
俺用网络流传的改IP脚本
汗。。。。。

2008-6-2 14:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 4 楼』:  

感觉有点繁杂的脚本~



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-6-2 14:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
exzzz
初级用户

游手好闲 + 无所事事 ..



积分 194
发帖 167
注册 2007-4-30
状态 离线
『第 5 楼』:  

前些时候好像论坛打不开,就好久没上来了。

今天收到一个网友的邮件询问有关该批处理的几个命令,回复了邮件再上来看看,居然还加分了,可乐了,呵呵。

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





积分 112
发帖 81
注册 2008-4-11
状态 离线
『第 6 楼』:  

学习了



CN-DOS批处理室非官方QQ群①:61377162 ②:70174619 ③:75070617
请勿尝试同时加多个群
2008-12-5 21:16
查看资料  发送邮件  发短消息 网志  OICQ (408130581)  编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 7 楼』:  

感觉很好,顶上去大家共享

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

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


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



论坛跳转: