中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 06:12
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 提问:自动切换网段的PCL。
可打印版本  739 / 3
第1楼 newaifi 发表于 2007-01-22 01:26
初级用户 发帖 67 积分 154
提问:自动切换网段的PCL。
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楼 newaifi 发表于 2007-01-22 03:46
初级用户 发帖 67 积分 154
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楼 ccuu668 发表于 2007-01-22 04:50
初级用户 发帖 29 积分 57
学习了.谢谢!
第4楼 newaifi 发表于 2007-01-22 16:04
初级用户 发帖 67 积分 154
斑竹都去那了。NONAME 呢`。。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023