中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 04:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 提问:自动切换网段的PCL。 查看 738 回复 3
楼 主 提问:自动切换网段的PCL。 发表于 2007-01-22 01:26 ·  中国 浙江 温州 电信
初级用户
★★
积分 154
发帖 67
注册 2006-10-31 00:50
19年会员
UID 68933
性别 男
状态 离线
ipconfig|find "IP Address" >ip.txt&ipconfig|find "Default Gateway" >>ip.txt
For /f "tokens=15 delims=:/" %%c in (ip.txt) do (
@echo %%c|find /i ".1.">nul&&Set Gateway=1
@echo %%c|find /i ".0.">nul&&Set Gateway=0
Goto :Gate)

******** 用以上语句获得本机的IP地址及网关地址 *************

有两个网段 (0 和 1) 要让PCL自动识别当前网段并更换对应的网段。
例子:本机IP:192.168.1.1 网关地址:192.168.1.200
运行PCL后本机地址自动变更为:

192.168.0.1
192.168.0.200

请大家出谋划策。给出精良的代码。谢谢。
2 发表于 2007-01-22 03:46 ·  中国 浙江 温州 电信
初级用户
★★
积分 154
发帖 67
注册 2006-10-31 00:50
19年会员
UID 68933
性别 男
状态 离线
Echo *************This Program Don't Del************>ip.txt&ipconfig /all|find "Ethernet

adapter">>ip.txt&ipconfig|find "IP Address" >>ip.txt&&ipconfig|find "Default Gateway"

>>ip.txt

ipconfig /all>ipconfig.txt
Find /i ".1." ip.txt&Set Gate=NO
Find /i ".0." ip.txt&Set Gate=YES
If "%Gate%"=="NO" Set Gate=0 else Set Gate=1

Set a=192.168
For /f "skip=15 tokens=7 delims=./ " %%Z in (ipconfig.txt) do set mowei=%%Z
For /f "skip=17 tokens=7 delims=./ " %%X in (ipconfig.txt) do set msmask=%%X
For /f "skip=2 tokens=3,4 delims=:/" %%A in (ip.txt) do set name=%%A %%B
Netsh interface ip set address %name% static %a%.%Gate%.%mowei% 255.255.255.0 %a%.%Gate%.%

msmask% 1

****************本人写成的一些代码 不过测试不同过。。请有相关经验的同志帮忙修改修改 代码只是用于测试的代码。还没精简 *******************
3 发表于 2007-01-22 04:50 ·  中国 云南 昆明 电信
初级用户
积分 57
发帖 29
注册 2006-12-27 09:36
19年会员
UID 74694
性别 男
状态 离线
学习了.谢谢!
4 发表于 2007-01-22 16:04 ·  中国 浙江 温州 电信
初级用户
★★
积分 154
发帖 67
注册 2006-10-31 00:50
19年会员
UID 68933
性别 男
状态 离线
斑竹都去那了。NONAME 呢`。。
论坛跳转: