中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 22:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请大家帮个忙写个批处理,第一个写出来送10个Q币
楼 主 请大家帮个忙写个批处理,第一个写出来送10个Q币 发表于 2008-04-15 13:59 ·  中国 浙江 温州 鹿城区 电信
初级用户
积分 20
发帖 8
注册 2008-04-14 17:47
UID 115883
性别 男
状态 离线
请大家帮个忙写个批处理,第一个写出来送10个Q币
意思如下,

按IP分配网关,(网关2个)
比如192.168.0.1 对应的网关是192.168.0.253
192.168.0.2 对应的网关是192.168.0.254
192.168.0.3 对应的网关是192.168.0.253
192.168.0.4 对应的网关是192.168.0.254
192.168.0.5 对应的网关是192.168.0.253
192.168.0.6 对应的网关是192.168.0.254
192.168.0.7 对应的网关是192.168.0.253
192.168.0.8 对应的网关是192.168.0.254
或者尾数为1.3.5.7.9的IP,对应网关是192.168.0.253
尾数为0.2.4.6.8的IP,对应网关是192.168.0.254







如果这样实现不了,就按MAC分配网关,
比如把mac全部写入两个文本
在检测第一文本是不是有这组MAC有的话分配网关为192.168.0.253
在检测第二文本是不是有这组MAC有的话分配网关为192.168.0.254
如果都没有的话,不执行更改网关
2 发表于 2008-04-15 14:04 ·  中国 北京 华为云
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
UID 99469
性别 男
状态 离线
楼主的意思是IP地址最后位是偶数的,网关设为192.168.0.254

奇数的设为192.168.0.253
3 是的,麻烦你了 发表于 2008-04-15 14:31 ·  中国 浙江 温州 鹿城区 电信
初级用户
积分 20
发帖 8
注册 2008-04-14 17:47
UID 115883
性别 男
状态 离线
是的,麻烦你了
4 自己测试吧(不适合多网卡): 发表于 2008-04-15 15:36 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
@echo off
for /f "delims=:" %%i in ('ipconfig ^| findstr "Ethernet"') do set var=%%i
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find "IP Address"') do set str=%%i
for /l %%i in (0,2,8) do if "192.168.0.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=192.168.0.254 gwmetric=1
for /l %%i in (1,2,9) do if "192.168.0.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=192.168.0.253 gwmetric=1
pause>nul

在实际应用中把最后一句收为echo 配置完成&ping /n 2 127.1>nul&goto :eof

[ Last edited by zw19750516 on 2008-4-15 at 04:01 PM ]
批处理之家新域名:www.bathome.net
5 大哥谢谢你的帮助,但是不行的 发表于 2008-04-15 20:10 ·  中国 浙江 温州 鹿城区 电信
初级用户
积分 20
发帖 8
注册 2008-04-14 17:47
UID 115883
性别 男
状态 离线
大哥谢谢你的帮助,但是不行的
6 发表于 2008-04-15 20:13 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
是报错还是怎么的,请讲清楚,我正好改
批处理之家新域名:www.bathome.net
7 大哥谢谢你的帮助 发表于 2008-04-15 21:55 ·  中国 浙江 温州 鹿城区 电信
初级用户
积分 20
发帖 8
注册 2008-04-14 17:47
UID 115883
性别 男
状态 离线
没有任何的提示
8 请仔细测试吧: 发表于 2008-04-16 08:17 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
UID 112398
性别 男
状态 离线
首先声明我不是为了要那10个Q币,而是为了根本上解决问题,我又在局域网中做了测试,证明是这个方案可行的。注:运行是不要打开网络配置界面不然会出错,请在运行完后查看网关,以下是我的测试码:
@echo off
for /f "delims=:" %%i in ('ipconfig ^| findstr "Ethernet"') do set var=%%i
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find "IP Address"') do set str=%%i
for /l %%i in (0,2,254) do if "134.163.144.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=134.163.144.2 gwmetric=1
for /l %%i in (1,2,255) do if "134.163.144.%%i"=="%str: =%" netsh interface ip set address "%var:~17%" gateway=134.163.144.1 gwmetric=1
echo 配置成功&ping /n 2 127.1>nul&goto :eof
批处理之家新域名:www.bathome.net
9 发表于 2008-04-16 09:38 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
UID 42345
状态 离线
这样呢?

@echo off
for /f "tokens=3 delims=: " %%i in ('ipconfig /all^|find "Ethernet adapter"') do set link=%%i
for /f "tokens=15" %%i in ('ipconfig /all^|find /i "Address"') do set ip=%%i
for /l %%i in (1,2,9) do if %ip:~-2% equ %%i goto nets
netsh interface ip set address name="%link%" gateway=192.168.0.254 gwmetric=0
pause&goto :eof
:nets
netsh interface ip set address name="%link%" gateway=192.168.0.253 gwmetric=0
pause
简单!简单!再简单!
10 发表于 2008-04-16 11:06 ·  中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
UID 44210
状态 离线
抄LS各位的,之所以不用"tokens=3 delims=: "获取连接名称,是因为怕有人用包含空格的连接名称
@echo off
for /f "delims=:" %%i in ('ipconfig^|findstr "Ethernet"') do set LinkName=%%i
set LinkName=%LinkName:~17%
for /f "tokens=6 delims=:. " %%i in ('ipconfig^|findstr "IP Address"') do set IPAdd=%%i
set /a str=%IPAdd% %% 2
rem if "%str%" == "1" netsh interface ip set address name="%LinkName%" gateway=192.168.0.253 gwmetric=0
rem if "%str%" == "0" netsh interface ip set address name="%LinkName%" gateway=192.168.0.254 gwmetric=0
pause>nul
11 发表于 2008-04-16 12:08 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
UID 103127
性别 男
状态 离线
体力劳动啊
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
12 问题解决了,谢谢,三位都可以使用 发表于 2008-04-16 14:56 ·  中国 浙江 温州 鹿城区 电信
初级用户
积分 20
发帖 8
注册 2008-04-14 17:47
UID 115883
性别 男
状态 离线
我诚心向你们学习,要不拜你们为师,按几楼来定 zw19750516大师傅 terse二师傅

zh159三师傅,徒弟在此,请受一拜
论坛跳转: