中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 20:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求根据计算机名称修改网关的批处理做法?谢谢 查看 1,755 回复 11
楼 主 求根据计算机名称修改网关的批处理做法?谢谢 发表于 2008-09-23 07:48 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
如题现有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 ]
2 发表于 2008-09-23 09:07 ·  中国 上海 电信
高级用户
★★★
积分 916
发帖 377
注册 2004-03-08 00:00
22年会员
UID 19523
性别 男
状态 离线
你可以看看这个帖子

大家能帮我完善一下扫描局域网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非常不错的
3 发表于 2008-09-23 09:42 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
读取计算机名可以直接运行 hostname.exe
4 发表于 2008-09-23 09:46 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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
)
)

自动切换网关自己能搞定不?
5 发表于 2008-09-23 10:28 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
我这里是无盘 用的BXP 有盘我可以搞定 无盘才接触的
问题是BXP无盘只能用一个网关

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

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

感激不尽
6 发表于 2008-09-23 10:30 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
帮忙看下好么,谢谢了
7 发表于 2008-09-23 10:40 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
最好哪位大哥能帮我做个完整版的出来就好了

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

谢谢各位高手同志了,救救我吧,阿门
8 发表于 2008-09-23 10:41 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
另外,默认的是1.252,1-13号可以不改
9 发表于 2008-09-23 10:56 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
运行 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 ]
10 发表于 2008-09-23 11:00 ·  中国 江苏 苏州 昆山市 电信
新手上路
积分 14
发帖 6
注册 2008-09-23 06:53
17年会员
UID 126364
性别 男
状态 离线
谢谢了,我试一下看看吧
11 发表于 2008-09-23 11:01 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@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
)
)
12 发表于 2008-09-23 11:26 ·  中国 广西 南宁 电信
初级用户
积分 115
发帖 45
注册 2007-03-03 10:09
19年会员
UID 80655
性别 男
状态 离线
@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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
everest79 +5 2008-09-23 14:12
论坛跳转: