中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求根据计算机名称修改网关的批处理做法?谢谢
作者:
标题: 求根据计算机名称修改网关的批处理做法?谢谢 上一主题 | 下一主题
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『楼 主』:  求根据计算机名称修改网关的批处理做法?谢谢

如题现有39台电脑,计算机名称分别是1-39,没有前后缀,单数字
网关有192.168.1.252---254,共3个,每13台一个网关
由于是无盘,分别设置网关比较麻烦,想请高手帮忙做个批处理,根据计算机名来自动修改网关

谢谢了,急

我就写了两条,写不下去了,

ipconfig /all >ip.txt

for /f "delims=" %%a in ('findstr "Host Name" ipconfig.txt') do echo %%a>>NAME.txt

把计算机名那行提取出来了,还想把计算机名单独提出来,然后以计算机名来排不足多少的用多少网关,老搞不好,

最后想用IF命令加后面这条来实现自动切换网关
netsh interface ip set address name="本地连接" source=static gateway=*.*.*.* gwmetric=1

谢谢了

[ Last edited by bingobe on 2008-9-23 at 07:54 AM ]

2008-9-23 07:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 2 楼』:  

你可以看看这个帖子

大家能帮我完善一下扫描局域网mac地址并转换成modiip

http://www.cn-dos.net/forum/view ... p;highlight=%2Bdato

偶现在的作法是母盘用DHCP获得IP,ghost完毕先用DHCP分配IP,再用psexec执行modiip来自动设定IP。modiip用来自动修改IP非常不错的



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-9-23 09:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ceii
初级用户





积分 115
发帖 45
注册 2007-3-3
状态 离线
『第 3 楼』:  

读取计算机名可以直接运行 hostname.exe

2008-9-23 09:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
for /f "tokens=16 delims= " %%a in ('ipconfig /all^|findstr /c:"Host Name"') do (
  if %%a leq 13 (
    echo 计算机名称1-13
  ) else if %%a leq 26 (
    echo 计算机名称14-26
  ) else (
    echo 计算机名称27-39
  )
)
自动切换网关自己能搞定不?



2008-9-23 09:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『第 5 楼』:  

我这里是无盘   用的BXP  有盘我可以搞定  无盘才接触的
问题是BXP无盘只能用一个网关

我的意思是进系统后自动执行开机批处理,根据机器号来修改网关,不需要人工干预

楼上的大哥能不能把后面的步骤也写一下呢?

感激不尽

2008-9-23 10:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『第 6 楼』:  

帮忙看下好么,谢谢了

2008-9-23 10:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『第 7 楼』:  

最好哪位大哥能帮我做个完整版的出来就好了

进系统后扫描自己计算机名,然后根据名字改网关
1-13号机器用1.252
14-26用1.253
27-39用1.254

谢谢各位高手同志了,救救我吧,阿门

2008-9-23 10:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『第 8 楼』:  

另外,默认的是1.252,1-13号可以不改

2008-9-23 10:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ceii
初级用户





积分 115
发帖 45
注册 2007-3-3
状态 离线
『第 9 楼』:  

运行 hostname.exe 并将结果赋值到 aaa
set wangguan=252
如果 aaa>=14 set wangguan=253
如果 aaa>=27 set wangguan=254
最后将 %wangguan% 加到 netsh 命令中

[ Last edited by ceii on 2008-9-23 at 11:15 AM ]

2008-9-23 10:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bingobe
新手上路





积分 14
发帖 6
注册 2008-9-23
状态 离线
『第 10 楼』:  

谢谢了,我试一下看看吧

2008-9-23 11:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  


@echo off
for /f "tokens=16 delims= " %%a in ('ipconfig /all^|findstr /c:"Host Name"') do (
  if %%a leq 13 (
    netsh interface ip set address name="本地连接" source=static gateway=192.168.1.252 gwmetric=1
  ) else if %%a leq 26 (
    netsh interface ip set address name="本地连接" source=static gateway=192.168.1.253 gwmetric=1
  ) else (
    netsh interface ip set address name="本地连接" source=static gateway=192.168.1.254 gwmetric=1
  )
)




2008-9-23 11:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ceii
初级用户





积分 115
发帖 45
注册 2007-3-3
状态 离线
『第 12 楼』:  

@echo off
for /f %%i in ('hostname') do set a=%%i
set w=252
if %a% gtr 13 set w=253
if %a% gtr 26 set w=254
echo netsh i i s a "本地连接" s gateway=192.168.1.%w% gwmetric=1

[ Last edited by ceii on 2008-9-23 at 11:38 AM ]

   此帖被 +5 点积分      点击查看详情   
评分人:【 everest79 分数: +5  时间:2008-9-23 14:12


2008-9-23 11:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: