Board logo

标题: 求根据计算机名称修改网关的批处理做法?谢谢 [打印本页]

作者: bingobe     时间: 2008-9-23 07:48    标题: 求根据计算机名称修改网关的批处理做法?谢谢
如题现有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 ]

作者: dato     时间: 2008-9-23 09:07
你可以看看这个帖子

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

http://www.cn-dos.net/forum/viewthread.php?tid=42427&fpage=1&highlight=%2Bdato

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

作者: ceii     时间: 2008-9-23 09:42
读取计算机名可以直接运行 hostname.exe

作者: HAT     时间: 2008-9-23 09:46
@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
)
)

自动切换网关自己能搞定不?

作者: bingobe     时间: 2008-9-23 10:28
我这里是无盘 用的BXP 有盘我可以搞定 无盘才接触的
问题是BXP无盘只能用一个网关

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

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

感激不尽

作者: bingobe     时间: 2008-9-23 10:30
帮忙看下好么,谢谢了

作者: bingobe     时间: 2008-9-23 10:40
最好哪位大哥能帮我做个完整版的出来就好了

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

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

作者: bingobe     时间: 2008-9-23 10:41
另外,默认的是1.252,1-13号可以不改

作者: ceii     时间: 2008-9-23 10:56
运行 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 ]

作者: bingobe     时间: 2008-9-23 11:00
谢谢了,我试一下看看吧

作者: HAT     时间: 2008-9-23 11:01
@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
)
)

作者: ceii     时间: 2008-9-23 11:26
@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 ]